Lines Matching refs:Precedence
1269 /// operator precedence.
1276 /// \brief Parse expressions with the given operatore precedence.
1277 void parse(int Precedence = 0) {
1285 if (!Current || Precedence > PrecedenceArrowAndPeriod)
1289 if (Precedence == prec::Conditional) {
1294 // Parse unary operators, which all have a higher precedence than binary
1296 if (Precedence == PrecedenceUnaryOperator) {
1306 // Consume operators with higher precedence.
1307 parse(Precedence + 1);
1312 Precedence == CurrentPrecedence) {
1314 addFakeParenthesis(Start, prec::Level(Precedence));
1318 // At the end of the line or when an operator with higher precedence is
1321 (CurrentPrecedence != -1 && CurrentPrecedence < Precedence) ||
1323 Precedence == prec::Assignment && Current->is(tok::colon))) {
1336 if (CurrentPrecedence == Precedence) {
1341 next(/*SkipPastLeadingComments=*/Precedence > 0);
1345 if (LatestOperator && (Current || Precedence > 0)) {
1347 if (Precedence == PrecedenceArrowAndPeriod) {
1348 // Call expressions don't have a binary operator precedence.
1351 addFakeParenthesis(Start, prec::Level(Precedence));
1357 /// \brief Gets the precedence (+1) of the given token for binary operators
1394 void addFakeParenthesis(FormatToken *Start, prec::Level Precedence) {
1395 Start->FakeLParens.push_back(Precedence);
1396 if (Precedence > prec::Unknown)
1403 if (Precedence > prec::Unknown)
1420 // The actual precedence doesn't matter.