Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Side by Side Diff: pkg/front_end/lib/src/fasta/scanner/precedence.dart

Issue 2755433004: align fasta.PrecedenceInfo.precedence with analyzer.TokenType.precedence (Closed)
Patch Set: fix tilde precedence test Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library fasta.scanner.precedence; 5 library fasta.scanner.precedence;
6 6
7 import 'token_constants.dart'; 7 import 'token_constants.dart';
8 8
9 class PrecedenceInfo { 9 class PrecedenceInfo {
10 final String value; 10 final String value;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 /** 105 /**
106 * The cascade operator has the lowest precedence of any operator 106 * The cascade operator has the lowest precedence of any operator
107 * except assignment. 107 * except assignment.
108 */ 108 */
109 const int CASCADE_PRECEDENCE = 2; 109 const int CASCADE_PRECEDENCE = 2;
110 const PrecedenceInfo PERIOD_PERIOD_INFO = const PrecedenceInfo( 110 const PrecedenceInfo PERIOD_PERIOD_INFO = const PrecedenceInfo(
111 '..', CASCADE_PRECEDENCE, PERIOD_PERIOD_TOKEN, 111 '..', CASCADE_PRECEDENCE, PERIOD_PERIOD_TOKEN,
112 isOperator: true); 112 isOperator: true);
113 113
114 const PrecedenceInfo BANG_INFO = 114 const PrecedenceInfo BANG_INFO =
115 const PrecedenceInfo('!', 0, BANG_TOKEN, isOperator: true); 115 const PrecedenceInfo('!', 15, BANG_TOKEN, isOperator: true);
116 const PrecedenceInfo COLON_INFO = const PrecedenceInfo(':', 0, COLON_TOKEN); 116 const PrecedenceInfo COLON_INFO = const PrecedenceInfo(':', 0, COLON_TOKEN);
117 const PrecedenceInfo INDEX_INFO = 117 const PrecedenceInfo INDEX_INFO =
118 const PrecedenceInfo('[]', 0, INDEX_TOKEN, isOperator: true); 118 const PrecedenceInfo('[]', 0, INDEX_TOKEN, isOperator: true);
119 const PrecedenceInfo MINUS_MINUS_INFO = const PrecedenceInfo( 119 const PrecedenceInfo MINUS_MINUS_INFO = const PrecedenceInfo(
120 '--', POSTFIX_PRECEDENCE, MINUS_MINUS_TOKEN, 120 '--', 16, MINUS_MINUS_TOKEN,
121 isOperator: true); 121 isOperator: true);
122 const PrecedenceInfo PLUS_PLUS_INFO = const PrecedenceInfo( 122 const PrecedenceInfo PLUS_PLUS_INFO = const PrecedenceInfo(
123 '++', POSTFIX_PRECEDENCE, PLUS_PLUS_TOKEN, 123 '++', 16, PLUS_PLUS_TOKEN,
124 isOperator: true); 124 isOperator: true);
125 const PrecedenceInfo TILDE_INFO = 125 const PrecedenceInfo TILDE_INFO =
126 const PrecedenceInfo('~', 0, TILDE_TOKEN, isOperator: true); 126 const PrecedenceInfo('~', 15, TILDE_TOKEN, isOperator: true);
127 127
128 const PrecedenceInfo FUNCTION_INFO = 128 const PrecedenceInfo FUNCTION_INFO =
129 const PrecedenceInfo('=>', 0, FUNCTION_TOKEN); 129 const PrecedenceInfo('=>', 0, FUNCTION_TOKEN);
130 const PrecedenceInfo HASH_INFO = const PrecedenceInfo('#', 0, HASH_TOKEN); 130 const PrecedenceInfo HASH_INFO = const PrecedenceInfo('#', 0, HASH_TOKEN);
131 const PrecedenceInfo INDEX_EQ_INFO = 131 const PrecedenceInfo INDEX_EQ_INFO =
132 const PrecedenceInfo('[]=', 0, INDEX_EQ_TOKEN, isOperator: true); 132 const PrecedenceInfo('[]=', 0, INDEX_EQ_TOKEN, isOperator: true);
133 const PrecedenceInfo SEMICOLON_INFO = 133 const PrecedenceInfo SEMICOLON_INFO =
134 const PrecedenceInfo(';', 0, SEMICOLON_TOKEN); 134 const PrecedenceInfo(';', 0, SEMICOLON_TOKEN);
135 const PrecedenceInfo COMMA_INFO = const PrecedenceInfo(',', 0, COMMA_TOKEN); 135 const PrecedenceInfo COMMA_INFO = const PrecedenceInfo(',', 0, COMMA_TOKEN);
136 136
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 // Multiplicative operators. 246 // Multiplicative operators.
247 const PrecedenceInfo PERCENT_INFO = 247 const PrecedenceInfo PERCENT_INFO =
248 const PrecedenceInfo('%', 14, PERCENT_TOKEN, isOperator: true); 248 const PrecedenceInfo('%', 14, PERCENT_TOKEN, isOperator: true);
249 const PrecedenceInfo SLASH_INFO = 249 const PrecedenceInfo SLASH_INFO =
250 const PrecedenceInfo('/', 14, SLASH_TOKEN, isOperator: true); 250 const PrecedenceInfo('/', 14, SLASH_TOKEN, isOperator: true);
251 const PrecedenceInfo STAR_INFO = 251 const PrecedenceInfo STAR_INFO =
252 const PrecedenceInfo('*', 14, STAR_TOKEN, isOperator: true); 252 const PrecedenceInfo('*', 14, STAR_TOKEN, isOperator: true);
253 const PrecedenceInfo TILDE_SLASH_INFO = 253 const PrecedenceInfo TILDE_SLASH_INFO =
254 const PrecedenceInfo('~/', 14, TILDE_SLASH_TOKEN, isOperator: true); 254 const PrecedenceInfo('~/', 14, TILDE_SLASH_TOKEN, isOperator: true);
255 255
256 const int POSTFIX_PRECEDENCE = 15; 256 const int POSTFIX_PRECEDENCE = 16;
257 const PrecedenceInfo PERIOD_INFO = 257 const PrecedenceInfo PERIOD_INFO =
258 const PrecedenceInfo('.', POSTFIX_PRECEDENCE, PERIOD_TOKEN); 258 const PrecedenceInfo('.', POSTFIX_PRECEDENCE, PERIOD_TOKEN);
259 const PrecedenceInfo QUESTION_PERIOD_INFO = const PrecedenceInfo( 259 const PrecedenceInfo QUESTION_PERIOD_INFO = const PrecedenceInfo(
260 '?.', POSTFIX_PRECEDENCE, QUESTION_PERIOD_TOKEN, 260 '?.', POSTFIX_PRECEDENCE, QUESTION_PERIOD_TOKEN,
261 isOperator: true); 261 isOperator: true);
262 262
263 const PrecedenceInfo KEYWORD_INFO = 263 const PrecedenceInfo KEYWORD_INFO =
264 const PrecedenceInfo('keyword', 0, KEYWORD_TOKEN); 264 const PrecedenceInfo('keyword', 0, KEYWORD_TOKEN);
265 265
266 const PrecedenceInfo EOF_INFO = const PrecedenceInfo('EOF', 0, EOF_TOKEN); 266 const PrecedenceInfo EOF_INFO = const PrecedenceInfo('EOF', 0, EOF_TOKEN);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 const PrecedenceInfo('\${', 0, STRING_INTERPOLATION_TOKEN); 309 const PrecedenceInfo('\${', 0, STRING_INTERPOLATION_TOKEN);
310 310
311 const PrecedenceInfo STRING_INTERPOLATION_IDENTIFIER_INFO = 311 const PrecedenceInfo STRING_INTERPOLATION_IDENTIFIER_INFO =
312 const PrecedenceInfo('\$', 0, STRING_INTERPOLATION_IDENTIFIER_TOKEN); 312 const PrecedenceInfo('\$', 0, STRING_INTERPOLATION_IDENTIFIER_TOKEN);
313 313
314 const PrecedenceInfo HEXADECIMAL_INFO = 314 const PrecedenceInfo HEXADECIMAL_INFO =
315 const PrecedenceInfo('hexadecimal', 0, HEXADECIMAL_TOKEN); 315 const PrecedenceInfo('hexadecimal', 0, HEXADECIMAL_TOKEN);
316 316
317 const PrecedenceInfo COMMENT_INFO = 317 const PrecedenceInfo COMMENT_INFO =
318 const PrecedenceInfo('comment', 0, COMMENT_TOKEN); 318 const PrecedenceInfo('comment', 0, COMMENT_TOKEN);
OLDNEW
« no previous file with comments | « no previous file | pkg/front_end/lib/src/scanner/token.dart » ('j') | tests/language/precedence_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698