diff options
Diffstat (limited to 'clang/lib/Format/TokenAnnotator.cpp')
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 98323fcc57c..1aa64b450d3 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -978,6 +978,7 @@ public: FormatToken *Start = Current; FormatToken *LatestOperator = NULL; + unsigned OperatorIndex = 0; while (Current) { // Consume operators with higher precedence. @@ -997,8 +998,8 @@ public: if (Current == NULL || Current->closesScope() || (CurrentPrecedence != -1 && CurrentPrecedence < Precedence)) { if (LatestOperator) { + LatestOperator->LastOperator = true; if (Precedence == PrecedenceArrowAndPeriod) { - LatestOperator->LastInChainOfCalls = true; // Call expressions don't have a binary operator precedence. addFakeParenthesis(Start, prec::Unknown); } else { @@ -1017,8 +1018,11 @@ public: next(); } else { // Operator found. - if (CurrentPrecedence == Precedence) + if (CurrentPrecedence == Precedence) { LatestOperator = Current; + Current->OperatorIndex = OperatorIndex; + ++OperatorIndex; + } next(); } |