| OLD | NEW |
| 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 dart2js.tokens.precedence.constants; | 5 library dart2js.tokens.precedence.constants; |
| 6 | 6 |
| 7 import 'precedence.dart' show | 7 import 'precedence.dart' show PrecedenceInfo; |
| 8 PrecedenceInfo; | |
| 9 import 'token_constants.dart'; | 8 import 'token_constants.dart'; |
| 10 | 9 |
| 11 // TODO(ahe): The following are not tokens in Dart. | 10 // TODO(ahe): The following are not tokens in Dart. |
| 12 const PrecedenceInfo BACKPING_INFO = | 11 const PrecedenceInfo BACKPING_INFO = |
| 13 const PrecedenceInfo('`', 0, BACKPING_TOKEN); | 12 const PrecedenceInfo('`', 0, BACKPING_TOKEN); |
| 14 const PrecedenceInfo BACKSLASH_INFO = | 13 const PrecedenceInfo BACKSLASH_INFO = |
| 15 const PrecedenceInfo('\\', 0, BACKSLASH_TOKEN); | 14 const PrecedenceInfo('\\', 0, BACKSLASH_TOKEN); |
| 16 const PrecedenceInfo PERIOD_PERIOD_PERIOD_INFO = | 15 const PrecedenceInfo PERIOD_PERIOD_PERIOD_INFO = |
| 17 const PrecedenceInfo('...', 0, | 16 const PrecedenceInfo('...', 0, PERIOD_PERIOD_PERIOD_TOKEN); |
| 18 PERIOD_PERIOD_PERIOD_TOKEN); | |
| 19 | 17 |
| 20 /** | 18 /** |
| 21 * The cascade operator has the lowest precedence of any operator | 19 * The cascade operator has the lowest precedence of any operator |
| 22 * except assignment. | 20 * except assignment. |
| 23 */ | 21 */ |
| 24 const int CASCADE_PRECEDENCE = 2; | 22 const int CASCADE_PRECEDENCE = 2; |
| 25 const PrecedenceInfo PERIOD_PERIOD_INFO = | 23 const PrecedenceInfo PERIOD_PERIOD_INFO = |
| 26 const PrecedenceInfo('..', CASCADE_PRECEDENCE, | 24 const PrecedenceInfo('..', CASCADE_PRECEDENCE, PERIOD_PERIOD_TOKEN); |
| 27 PERIOD_PERIOD_TOKEN); | |
| 28 | 25 |
| 29 const PrecedenceInfo BANG_INFO = | 26 const PrecedenceInfo BANG_INFO = const PrecedenceInfo('!', 0, BANG_TOKEN); |
| 30 const PrecedenceInfo('!', 0, BANG_TOKEN); | 27 const PrecedenceInfo COLON_INFO = const PrecedenceInfo(':', 0, COLON_TOKEN); |
| 31 const PrecedenceInfo COLON_INFO = | 28 const PrecedenceInfo INDEX_INFO = const PrecedenceInfo('[]', 0, INDEX_TOKEN); |
| 32 const PrecedenceInfo(':', 0, COLON_TOKEN); | |
| 33 const PrecedenceInfo INDEX_INFO = | |
| 34 const PrecedenceInfo('[]', 0, INDEX_TOKEN); | |
| 35 const PrecedenceInfo MINUS_MINUS_INFO = | 29 const PrecedenceInfo MINUS_MINUS_INFO = |
| 36 const PrecedenceInfo('--', POSTFIX_PRECEDENCE, | 30 const PrecedenceInfo('--', POSTFIX_PRECEDENCE, MINUS_MINUS_TOKEN); |
| 37 MINUS_MINUS_TOKEN); | |
| 38 const PrecedenceInfo PLUS_PLUS_INFO = | 31 const PrecedenceInfo PLUS_PLUS_INFO = |
| 39 const PrecedenceInfo('++', POSTFIX_PRECEDENCE, | 32 const PrecedenceInfo('++', POSTFIX_PRECEDENCE, PLUS_PLUS_TOKEN); |
| 40 PLUS_PLUS_TOKEN); | 33 const PrecedenceInfo TILDE_INFO = const PrecedenceInfo('~', 0, TILDE_TOKEN); |
| 41 const PrecedenceInfo TILDE_INFO = | |
| 42 const PrecedenceInfo('~', 0, TILDE_TOKEN); | |
| 43 | 34 |
| 44 const PrecedenceInfo FUNCTION_INFO = | 35 const PrecedenceInfo FUNCTION_INFO = |
| 45 const PrecedenceInfo('=>', 0, FUNCTION_TOKEN); | 36 const PrecedenceInfo('=>', 0, FUNCTION_TOKEN); |
| 46 const PrecedenceInfo HASH_INFO = | 37 const PrecedenceInfo HASH_INFO = const PrecedenceInfo('#', 0, HASH_TOKEN); |
| 47 const PrecedenceInfo('#', 0, HASH_TOKEN); | |
| 48 const PrecedenceInfo INDEX_EQ_INFO = | 38 const PrecedenceInfo INDEX_EQ_INFO = |
| 49 const PrecedenceInfo('[]=', 0, INDEX_EQ_TOKEN); | 39 const PrecedenceInfo('[]=', 0, INDEX_EQ_TOKEN); |
| 50 const PrecedenceInfo SEMICOLON_INFO = | 40 const PrecedenceInfo SEMICOLON_INFO = |
| 51 const PrecedenceInfo(';', 0, SEMICOLON_TOKEN); | 41 const PrecedenceInfo(';', 0, SEMICOLON_TOKEN); |
| 52 const PrecedenceInfo COMMA_INFO = | 42 const PrecedenceInfo COMMA_INFO = const PrecedenceInfo(',', 0, COMMA_TOKEN); |
| 53 const PrecedenceInfo(',', 0, COMMA_TOKEN); | |
| 54 | 43 |
| 55 const PrecedenceInfo AT_INFO = | 44 const PrecedenceInfo AT_INFO = const PrecedenceInfo('@', 0, AT_TOKEN); |
| 56 const PrecedenceInfo('@', 0, AT_TOKEN); | |
| 57 | 45 |
| 58 // Assignment operators. | 46 // Assignment operators. |
| 59 const int ASSIGNMENT_PRECEDENCE = 1; | 47 const int ASSIGNMENT_PRECEDENCE = 1; |
| 60 const PrecedenceInfo AMPERSAND_EQ_INFO = | 48 const PrecedenceInfo AMPERSAND_EQ_INFO = |
| 61 const PrecedenceInfo('&=', | 49 const PrecedenceInfo('&=', ASSIGNMENT_PRECEDENCE, AMPERSAND_EQ_TOKEN); |
| 62 ASSIGNMENT_PRECEDENCE, AMPERSAND_EQ_TOKEN); | |
| 63 const PrecedenceInfo BAR_EQ_INFO = | 50 const PrecedenceInfo BAR_EQ_INFO = |
| 64 const PrecedenceInfo('|=', | 51 const PrecedenceInfo('|=', ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN); |
| 65 ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN); | |
| 66 const PrecedenceInfo CARET_EQ_INFO = | 52 const PrecedenceInfo CARET_EQ_INFO = |
| 67 const PrecedenceInfo('^=', | 53 const PrecedenceInfo('^=', ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN); |
| 68 ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN); | |
| 69 const PrecedenceInfo EQ_INFO = | 54 const PrecedenceInfo EQ_INFO = |
| 70 const PrecedenceInfo('=', | 55 const PrecedenceInfo('=', ASSIGNMENT_PRECEDENCE, EQ_TOKEN); |
| 71 ASSIGNMENT_PRECEDENCE, EQ_TOKEN); | |
| 72 const PrecedenceInfo GT_GT_EQ_INFO = | 56 const PrecedenceInfo GT_GT_EQ_INFO = |
| 73 const PrecedenceInfo('>>=', | 57 const PrecedenceInfo('>>=', ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN); |
| 74 ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN); | |
| 75 const PrecedenceInfo LT_LT_EQ_INFO = | 58 const PrecedenceInfo LT_LT_EQ_INFO = |
| 76 const PrecedenceInfo('<<=', | 59 const PrecedenceInfo('<<=', ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN); |
| 77 ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN); | |
| 78 const PrecedenceInfo MINUS_EQ_INFO = | 60 const PrecedenceInfo MINUS_EQ_INFO = |
| 79 const PrecedenceInfo('-=', | 61 const PrecedenceInfo('-=', ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN); |
| 80 ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN); | |
| 81 const PrecedenceInfo PERCENT_EQ_INFO = | 62 const PrecedenceInfo PERCENT_EQ_INFO = |
| 82 const PrecedenceInfo('%=', | 63 const PrecedenceInfo('%=', ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN); |
| 83 ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN); | |
| 84 const PrecedenceInfo PLUS_EQ_INFO = | 64 const PrecedenceInfo PLUS_EQ_INFO = |
| 85 const PrecedenceInfo('+=', | 65 const PrecedenceInfo('+=', ASSIGNMENT_PRECEDENCE, PLUS_EQ_TOKEN); |
| 86 ASSIGNMENT_PRECEDENCE, PLUS_EQ_TOKEN); | |
| 87 const PrecedenceInfo SLASH_EQ_INFO = | 66 const PrecedenceInfo SLASH_EQ_INFO = |
| 88 const PrecedenceInfo('/=', | 67 const PrecedenceInfo('/=', ASSIGNMENT_PRECEDENCE, SLASH_EQ_TOKEN); |
| 89 ASSIGNMENT_PRECEDENCE, SLASH_EQ_TOKEN); | |
| 90 const PrecedenceInfo STAR_EQ_INFO = | 68 const PrecedenceInfo STAR_EQ_INFO = |
| 91 const PrecedenceInfo('*=', | 69 const PrecedenceInfo('*=', ASSIGNMENT_PRECEDENCE, STAR_EQ_TOKEN); |
| 92 ASSIGNMENT_PRECEDENCE, STAR_EQ_TOKEN); | |
| 93 const PrecedenceInfo TILDE_SLASH_EQ_INFO = | 70 const PrecedenceInfo TILDE_SLASH_EQ_INFO = |
| 94 const PrecedenceInfo('~/=', | 71 const PrecedenceInfo('~/=', ASSIGNMENT_PRECEDENCE, TILDE_SLASH_EQ_TOKEN); |
| 95 ASSIGNMENT_PRECEDENCE, TILDE_SLASH_EQ_TOKEN); | 72 const PrecedenceInfo QUESTION_QUESTION_EQ_INFO = const PrecedenceInfo( |
| 96 const PrecedenceInfo QUESTION_QUESTION_EQ_INFO = | 73 '??=', ASSIGNMENT_PRECEDENCE, QUESTION_QUESTION_EQ_TOKEN); |
| 97 const PrecedenceInfo('??=', | |
| 98 ASSIGNMENT_PRECEDENCE, QUESTION_QUESTION_EQ_TOKEN); | |
| 99 | 74 |
| 100 const PrecedenceInfo QUESTION_INFO = | 75 const PrecedenceInfo QUESTION_INFO = |
| 101 const PrecedenceInfo('?', 3, QUESTION_TOKEN); | 76 const PrecedenceInfo('?', 3, QUESTION_TOKEN); |
| 102 | 77 |
| 103 const PrecedenceInfo QUESTION_QUESTION_INFO = | 78 const PrecedenceInfo QUESTION_QUESTION_INFO = |
| 104 const PrecedenceInfo('??', 4, QUESTION_QUESTION_TOKEN); | 79 const PrecedenceInfo('??', 4, QUESTION_QUESTION_TOKEN); |
| 105 | 80 |
| 106 const PrecedenceInfo BAR_BAR_INFO = | 81 const PrecedenceInfo BAR_BAR_INFO = |
| 107 const PrecedenceInfo('||', 5, BAR_BAR_TOKEN); | 82 const PrecedenceInfo('||', 5, BAR_BAR_TOKEN); |
| 108 | 83 |
| 109 const PrecedenceInfo AMPERSAND_AMPERSAND_INFO = | 84 const PrecedenceInfo AMPERSAND_AMPERSAND_INFO = |
| 110 const PrecedenceInfo('&&', 6, AMPERSAND_AMPERSAND_TOKEN); | 85 const PrecedenceInfo('&&', 6, AMPERSAND_AMPERSAND_TOKEN); |
| 111 | 86 |
| 112 const PrecedenceInfo BAR_INFO = | 87 const PrecedenceInfo BAR_INFO = const PrecedenceInfo('|', 9, BAR_TOKEN); |
| 113 const PrecedenceInfo('|', 9, BAR_TOKEN); | |
| 114 | 88 |
| 115 const PrecedenceInfo CARET_INFO = | 89 const PrecedenceInfo CARET_INFO = const PrecedenceInfo('^', 10, CARET_TOKEN); |
| 116 const PrecedenceInfo('^', 10, CARET_TOKEN); | |
| 117 | 90 |
| 118 const PrecedenceInfo AMPERSAND_INFO = | 91 const PrecedenceInfo AMPERSAND_INFO = |
| 119 const PrecedenceInfo('&', 11, AMPERSAND_TOKEN); | 92 const PrecedenceInfo('&', 11, AMPERSAND_TOKEN); |
| 120 | 93 |
| 121 // Equality operators. | 94 // Equality operators. |
| 122 const int EQUALITY_PRECEDENCE = 7; | 95 const int EQUALITY_PRECEDENCE = 7; |
| 123 const PrecedenceInfo BANG_EQ_EQ_INFO = | 96 const PrecedenceInfo BANG_EQ_EQ_INFO = |
| 124 const PrecedenceInfo('!==', | 97 const PrecedenceInfo('!==', EQUALITY_PRECEDENCE, BANG_EQ_EQ_TOKEN); |
| 125 EQUALITY_PRECEDENCE, BANG_EQ_EQ_TOKEN); | |
| 126 const PrecedenceInfo BANG_EQ_INFO = | 98 const PrecedenceInfo BANG_EQ_INFO = |
| 127 const PrecedenceInfo('!=', | 99 const PrecedenceInfo('!=', EQUALITY_PRECEDENCE, BANG_EQ_TOKEN); |
| 128 EQUALITY_PRECEDENCE, BANG_EQ_TOKEN); | |
| 129 const PrecedenceInfo EQ_EQ_EQ_INFO = | 100 const PrecedenceInfo EQ_EQ_EQ_INFO = |
| 130 const PrecedenceInfo('===', | 101 const PrecedenceInfo('===', EQUALITY_PRECEDENCE, EQ_EQ_EQ_TOKEN); |
| 131 EQUALITY_PRECEDENCE, EQ_EQ_EQ_TOKEN); | |
| 132 const PrecedenceInfo EQ_EQ_INFO = | 102 const PrecedenceInfo EQ_EQ_INFO = |
| 133 const PrecedenceInfo('==', | 103 const PrecedenceInfo('==', EQUALITY_PRECEDENCE, EQ_EQ_TOKEN); |
| 134 EQUALITY_PRECEDENCE, EQ_EQ_TOKEN); | |
| 135 | 104 |
| 136 // Relational operators. | 105 // Relational operators. |
| 137 const int RELATIONAL_PRECEDENCE = 8; | 106 const int RELATIONAL_PRECEDENCE = 8; |
| 138 const PrecedenceInfo GT_EQ_INFO = | 107 const PrecedenceInfo GT_EQ_INFO = |
| 139 const PrecedenceInfo('>=', | 108 const PrecedenceInfo('>=', RELATIONAL_PRECEDENCE, GT_EQ_TOKEN); |
| 140 RELATIONAL_PRECEDENCE, GT_EQ_TOKEN); | |
| 141 const PrecedenceInfo GT_INFO = | 109 const PrecedenceInfo GT_INFO = |
| 142 const PrecedenceInfo('>', | 110 const PrecedenceInfo('>', RELATIONAL_PRECEDENCE, GT_TOKEN); |
| 143 RELATIONAL_PRECEDENCE, GT_TOKEN); | |
| 144 const PrecedenceInfo IS_INFO = | 111 const PrecedenceInfo IS_INFO = |
| 145 const PrecedenceInfo('is', | 112 const PrecedenceInfo('is', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN); |
| 146 RELATIONAL_PRECEDENCE, KEYWORD_TOKEN); | |
| 147 const PrecedenceInfo AS_INFO = | 113 const PrecedenceInfo AS_INFO = |
| 148 const PrecedenceInfo('as', | 114 const PrecedenceInfo('as', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN); |
| 149 RELATIONAL_PRECEDENCE, KEYWORD_TOKEN); | |
| 150 const PrecedenceInfo LT_EQ_INFO = | 115 const PrecedenceInfo LT_EQ_INFO = |
| 151 const PrecedenceInfo('<=', | 116 const PrecedenceInfo('<=', RELATIONAL_PRECEDENCE, LT_EQ_TOKEN); |
| 152 RELATIONAL_PRECEDENCE, LT_EQ_TOKEN); | |
| 153 const PrecedenceInfo LT_INFO = | 117 const PrecedenceInfo LT_INFO = |
| 154 const PrecedenceInfo('<', | 118 const PrecedenceInfo('<', RELATIONAL_PRECEDENCE, LT_TOKEN); |
| 155 RELATIONAL_PRECEDENCE, LT_TOKEN); | |
| 156 | 119 |
| 157 // Shift operators. | 120 // Shift operators. |
| 158 const PrecedenceInfo GT_GT_INFO = | 121 const PrecedenceInfo GT_GT_INFO = const PrecedenceInfo('>>', 12, GT_GT_TOKEN); |
| 159 const PrecedenceInfo('>>', 12, GT_GT_TOKEN); | 122 const PrecedenceInfo LT_LT_INFO = const PrecedenceInfo('<<', 12, LT_LT_TOKEN); |
| 160 const PrecedenceInfo LT_LT_INFO = | |
| 161 const PrecedenceInfo('<<', 12, LT_LT_TOKEN); | |
| 162 | 123 |
| 163 // Additive operators. | 124 // Additive operators. |
| 164 const PrecedenceInfo MINUS_INFO = | 125 const PrecedenceInfo MINUS_INFO = const PrecedenceInfo('-', 13, MINUS_TOKEN); |
| 165 const PrecedenceInfo('-', 13, MINUS_TOKEN); | 126 const PrecedenceInfo PLUS_INFO = const PrecedenceInfo('+', 13, PLUS_TOKEN); |
| 166 const PrecedenceInfo PLUS_INFO = | |
| 167 const PrecedenceInfo('+', 13, PLUS_TOKEN); | |
| 168 | 127 |
| 169 // Multiplicative operators. | 128 // Multiplicative operators. |
| 170 const PrecedenceInfo PERCENT_INFO = | 129 const PrecedenceInfo PERCENT_INFO = |
| 171 const PrecedenceInfo('%', 14, PERCENT_TOKEN); | 130 const PrecedenceInfo('%', 14, PERCENT_TOKEN); |
| 172 const PrecedenceInfo SLASH_INFO = | 131 const PrecedenceInfo SLASH_INFO = const PrecedenceInfo('/', 14, SLASH_TOKEN); |
| 173 const PrecedenceInfo('/', 14, SLASH_TOKEN); | 132 const PrecedenceInfo STAR_INFO = const PrecedenceInfo('*', 14, STAR_TOKEN); |
| 174 const PrecedenceInfo STAR_INFO = | |
| 175 const PrecedenceInfo('*', 14, STAR_TOKEN); | |
| 176 const PrecedenceInfo TILDE_SLASH_INFO = | 133 const PrecedenceInfo TILDE_SLASH_INFO = |
| 177 const PrecedenceInfo('~/', 14, TILDE_SLASH_TOKEN); | 134 const PrecedenceInfo('~/', 14, TILDE_SLASH_TOKEN); |
| 178 | 135 |
| 179 const int POSTFIX_PRECEDENCE = 15; | 136 const int POSTFIX_PRECEDENCE = 15; |
| 180 const PrecedenceInfo PERIOD_INFO = | 137 const PrecedenceInfo PERIOD_INFO = |
| 181 const PrecedenceInfo('.', POSTFIX_PRECEDENCE, | 138 const PrecedenceInfo('.', POSTFIX_PRECEDENCE, PERIOD_TOKEN); |
| 182 PERIOD_TOKEN); | |
| 183 const PrecedenceInfo QUESTION_PERIOD_INFO = | 139 const PrecedenceInfo QUESTION_PERIOD_INFO = |
| 184 const PrecedenceInfo('?.', POSTFIX_PRECEDENCE, | 140 const PrecedenceInfo('?.', POSTFIX_PRECEDENCE, QUESTION_PERIOD_TOKEN); |
| 185 QUESTION_PERIOD_TOKEN); | |
| 186 | 141 |
| 187 const PrecedenceInfo KEYWORD_INFO = | 142 const PrecedenceInfo KEYWORD_INFO = |
| 188 const PrecedenceInfo('keyword', 0, KEYWORD_TOKEN); | 143 const PrecedenceInfo('keyword', 0, KEYWORD_TOKEN); |
| 189 | 144 |
| 190 const PrecedenceInfo EOF_INFO = | 145 const PrecedenceInfo EOF_INFO = const PrecedenceInfo('EOF', 0, EOF_TOKEN); |
| 191 const PrecedenceInfo('EOF', 0, EOF_TOKEN); | |
| 192 | 146 |
| 193 const PrecedenceInfo IDENTIFIER_INFO = | 147 const PrecedenceInfo IDENTIFIER_INFO = |
| 194 const PrecedenceInfo('identifier', 0, IDENTIFIER_TOKEN); | 148 const PrecedenceInfo('identifier', 0, IDENTIFIER_TOKEN); |
| 195 | 149 |
| 196 const PrecedenceInfo BAD_INPUT_INFO = | 150 const PrecedenceInfo BAD_INPUT_INFO = |
| 197 const PrecedenceInfo('malformed input', 0, | 151 const PrecedenceInfo('malformed input', 0, BAD_INPUT_TOKEN); |
| 198 BAD_INPUT_TOKEN); | |
| 199 | 152 |
| 200 const PrecedenceInfo OPEN_PAREN_INFO = | 153 const PrecedenceInfo OPEN_PAREN_INFO = |
| 201 const PrecedenceInfo('(', POSTFIX_PRECEDENCE, | 154 const PrecedenceInfo('(', POSTFIX_PRECEDENCE, OPEN_PAREN_TOKEN); |
| 202 OPEN_PAREN_TOKEN); | |
| 203 | 155 |
| 204 const PrecedenceInfo CLOSE_PAREN_INFO = | 156 const PrecedenceInfo CLOSE_PAREN_INFO = |
| 205 const PrecedenceInfo(')', 0, CLOSE_PAREN_TOKEN); | 157 const PrecedenceInfo(')', 0, CLOSE_PAREN_TOKEN); |
| 206 | 158 |
| 207 const PrecedenceInfo OPEN_CURLY_BRACKET_INFO = | 159 const PrecedenceInfo OPEN_CURLY_BRACKET_INFO = |
| 208 const PrecedenceInfo('{', 0, OPEN_CURLY_BRACKET_TOKEN); | 160 const PrecedenceInfo('{', 0, OPEN_CURLY_BRACKET_TOKEN); |
| 209 | 161 |
| 210 const PrecedenceInfo CLOSE_CURLY_BRACKET_INFO = | 162 const PrecedenceInfo CLOSE_CURLY_BRACKET_INFO = |
| 211 const PrecedenceInfo('}', 0, CLOSE_CURLY_BRACKET_TOKEN); | 163 const PrecedenceInfo('}', 0, CLOSE_CURLY_BRACKET_TOKEN); |
| 212 | 164 |
| 213 const PrecedenceInfo INT_INFO = | 165 const PrecedenceInfo INT_INFO = const PrecedenceInfo('int', 0, INT_TOKEN); |
| 214 const PrecedenceInfo('int', 0, INT_TOKEN); | |
| 215 | 166 |
| 216 const PrecedenceInfo STRING_INFO = | 167 const PrecedenceInfo STRING_INFO = |
| 217 const PrecedenceInfo('string', 0, STRING_TOKEN); | 168 const PrecedenceInfo('string', 0, STRING_TOKEN); |
| 218 | 169 |
| 219 const PrecedenceInfo OPEN_SQUARE_BRACKET_INFO = | 170 const PrecedenceInfo OPEN_SQUARE_BRACKET_INFO = |
| 220 const PrecedenceInfo('[', POSTFIX_PRECEDENCE, | 171 const PrecedenceInfo('[', POSTFIX_PRECEDENCE, OPEN_SQUARE_BRACKET_TOKEN); |
| 221 OPEN_SQUARE_BRACKET_TOKEN); | |
| 222 | 172 |
| 223 const PrecedenceInfo CLOSE_SQUARE_BRACKET_INFO = | 173 const PrecedenceInfo CLOSE_SQUARE_BRACKET_INFO = |
| 224 const PrecedenceInfo(']', 0, CLOSE_SQUARE_BRACKET_TOKEN); | 174 const PrecedenceInfo(']', 0, CLOSE_SQUARE_BRACKET_TOKEN); |
| 225 | 175 |
| 226 const PrecedenceInfo DOUBLE_INFO = | 176 const PrecedenceInfo DOUBLE_INFO = |
| 227 const PrecedenceInfo('double', 0, DOUBLE_TOKEN); | 177 const PrecedenceInfo('double', 0, DOUBLE_TOKEN); |
| 228 | 178 |
| 229 const PrecedenceInfo STRING_INTERPOLATION_INFO = | 179 const PrecedenceInfo STRING_INTERPOLATION_INFO = |
| 230 const PrecedenceInfo('\${', 0, | 180 const PrecedenceInfo('\${', 0, STRING_INTERPOLATION_TOKEN); |
| 231 STRING_INTERPOLATION_TOKEN); | |
| 232 | 181 |
| 233 const PrecedenceInfo STRING_INTERPOLATION_IDENTIFIER_INFO = | 182 const PrecedenceInfo STRING_INTERPOLATION_IDENTIFIER_INFO = |
| 234 const PrecedenceInfo('\$', 0, | 183 const PrecedenceInfo('\$', 0, STRING_INTERPOLATION_IDENTIFIER_TOKEN); |
| 235 STRING_INTERPOLATION_IDENTIFIER_TOKEN); | |
| 236 | 184 |
| 237 const PrecedenceInfo HEXADECIMAL_INFO = | 185 const PrecedenceInfo HEXADECIMAL_INFO = |
| 238 const PrecedenceInfo('hexadecimal', 0, HEXADECIMAL_TOKEN); | 186 const PrecedenceInfo('hexadecimal', 0, HEXADECIMAL_TOKEN); |
| 239 | 187 |
| 240 const PrecedenceInfo COMMENT_INFO = | 188 const PrecedenceInfo COMMENT_INFO = |
| 241 const PrecedenceInfo('comment', 0, COMMENT_TOKEN); | 189 const PrecedenceInfo('comment', 0, COMMENT_TOKEN); |
| OLD | NEW |