| OLD | NEW |
| 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 import 'package:analyzer/dart/ast/ast.dart'; | 5 import 'package:analyzer/dart/ast/ast.dart'; |
| 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; | 6 import 'package:analyzer/dart/ast/token.dart' as analyzer; |
| 7 import 'package:analyzer/dart/element/element.dart'; | 7 import 'package:analyzer/dart/element/element.dart'; |
| 8 import 'package:analyzer/error/error.dart'; | 8 import 'package:analyzer/error/error.dart'; |
| 9 import 'package:analyzer/src/generated/parser.dart' as analyzer; | 9 import 'package:analyzer/src/generated/parser.dart' as analyzer; |
| 10 import 'package:analyzer/src/generated/utilities_dart.dart'; | 10 import 'package:analyzer/src/generated/utilities_dart.dart'; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 import 'package:test_reflective_loader/test_reflective_loader.dart'; | 21 import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| 22 | 22 |
| 23 import 'parser_test.dart'; | 23 import 'parser_test.dart'; |
| 24 | 24 |
| 25 main() { | 25 main() { |
| 26 defineReflectiveSuite(() { | 26 defineReflectiveSuite(() { |
| 27 defineReflectiveTests(ClassMemberParserTest_Fasta); | 27 defineReflectiveTests(ClassMemberParserTest_Fasta); |
| 28 defineReflectiveTests(ComplexParserTest_Fasta); | 28 defineReflectiveTests(ComplexParserTest_Fasta); |
| 29 defineReflectiveTests(ExpressionParserTest_Fasta); | 29 defineReflectiveTests(ExpressionParserTest_Fasta); |
| 30 defineReflectiveTests(FormalParameterParserTest_Fasta); | 30 defineReflectiveTests(FormalParameterParserTest_Fasta); |
| 31 defineReflectiveTests(StatementParserTest_Fasta); |
| 31 defineReflectiveTests(TopLevelParserTest_Fasta); | 32 defineReflectiveTests(TopLevelParserTest_Fasta); |
| 32 }); | 33 }); |
| 33 } | 34 } |
| 34 | 35 |
| 35 /** | 36 /** |
| 36 * Type of the "parse..." methods defined in the Fasta parser. | 37 * Type of the "parse..." methods defined in the Fasta parser. |
| 37 */ | 38 */ |
| 38 typedef fasta.Token ParseFunction(fasta.Token token); | 39 typedef fasta.Token ParseFunction(fasta.Token token); |
| 39 | 40 |
| 40 /** | 41 /** |
| (...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 798 return _parseExpression(code); | 799 return _parseExpression(code); |
| 799 } | 800 } |
| 800 | 801 |
| 801 @override | 802 @override |
| 802 SimpleIdentifier parseSimpleIdentifier(String code) { | 803 SimpleIdentifier parseSimpleIdentifier(String code) { |
| 803 return _parseExpression(code); | 804 return _parseExpression(code); |
| 804 } | 805 } |
| 805 | 806 |
| 806 @override | 807 @override |
| 807 Statement parseStatement(String source, | 808 Statement parseStatement(String source, |
| 808 [List<ErrorCode> errorCodes = const <ErrorCode>[], | 809 [bool enableLazyAssignmentOperators]) { |
| 809 bool enableLazyAssignmentOperators]) { | 810 return _runParser(source, (parser) => parser.parseStatement) as Statement; |
| 810 return _runParser(source, (parser) => parser.parseStatement, errorCodes) | |
| 811 as Statement; | |
| 812 } | 811 } |
| 813 | 812 |
| 814 @override | 813 @override |
| 815 Expression parseStringLiteral(String code) { | 814 Expression parseStringLiteral(String code) { |
| 816 return _parseExpression(code); | 815 return _parseExpression(code); |
| 817 } | 816 } |
| 818 | 817 |
| 819 @override | 818 @override |
| 820 SuperConstructorInvocation parseSuperConstructorInvocation(String code) { | 819 SuperConstructorInvocation parseSuperConstructorInvocation(String code) { |
| 821 // TODO(scheglov): implement parseSuperConstructorInvocation | 820 // TODO(scheglov): implement parseSuperConstructorInvocation |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1069 } | 1068 } |
| 1070 | 1069 |
| 1071 @override | 1070 @override |
| 1072 Builder lookup(String name, int charOffset, Uri fileUri) => | 1071 Builder lookup(String name, int charOffset, Uri fileUri) => |
| 1073 _locals.putIfAbsent(name, () => new BuilderProxy()); | 1072 _locals.putIfAbsent(name, () => new BuilderProxy()); |
| 1074 | 1073 |
| 1075 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); | 1074 noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation); |
| 1076 } | 1075 } |
| 1077 | 1076 |
| 1078 /** | 1077 /** |
| 1078 * Tests of the fasta parser based on [StatementParserTestMixin]. |
| 1079 */ |
| 1080 @reflectiveTest |
| 1081 class StatementParserTest_Fasta extends FastaParserTestCase |
| 1082 with StatementParserTestMixin { |
| 1083 @override |
| 1084 @failingTest |
| 1085 void test_parseAssertStatement() { |
| 1086 super.test_parseAssertStatement(); |
| 1087 } |
| 1088 |
| 1089 @override |
| 1090 @failingTest |
| 1091 void test_parseAssertStatement_messageLowPrecedence() { |
| 1092 super.test_parseAssertStatement_messageLowPrecedence(); |
| 1093 } |
| 1094 |
| 1095 @override |
| 1096 @failingTest |
| 1097 void test_parseAssertStatement_messageString() { |
| 1098 super.test_parseAssertStatement_messageString(); |
| 1099 } |
| 1100 |
| 1101 @override |
| 1102 @failingTest |
| 1103 void test_parseBlock_nonEmpty() { |
| 1104 super.test_parseBlock_nonEmpty(); |
| 1105 } |
| 1106 |
| 1107 @override |
| 1108 @failingTest |
| 1109 void test_parseBreakStatement_label() { |
| 1110 super.test_parseBreakStatement_label(); |
| 1111 } |
| 1112 |
| 1113 @override |
| 1114 @failingTest |
| 1115 void test_parseBreakStatement_noLabel() { |
| 1116 super.test_parseBreakStatement_noLabel(); |
| 1117 } |
| 1118 |
| 1119 @override |
| 1120 @failingTest |
| 1121 void test_parseDoStatement() { |
| 1122 super.test_parseDoStatement(); |
| 1123 } |
| 1124 |
| 1125 @override |
| 1126 @failingTest |
| 1127 void test_parseEmptyStatement() { |
| 1128 super.test_parseEmptyStatement(); |
| 1129 } |
| 1130 |
| 1131 @override |
| 1132 @failingTest |
| 1133 void test_parseForStatement_each_await() { |
| 1134 super.test_parseForStatement_each_await(); |
| 1135 } |
| 1136 |
| 1137 @override |
| 1138 @failingTest |
| 1139 void test_parseForStatement_each_identifier() { |
| 1140 super.test_parseForStatement_each_identifier(); |
| 1141 } |
| 1142 |
| 1143 @override |
| 1144 @failingTest |
| 1145 void test_parseForStatement_each_noType_metadata() { |
| 1146 super.test_parseForStatement_each_noType_metadata(); |
| 1147 } |
| 1148 |
| 1149 @override |
| 1150 @failingTest |
| 1151 void test_parseForStatement_each_type() { |
| 1152 super.test_parseForStatement_each_type(); |
| 1153 } |
| 1154 |
| 1155 @override |
| 1156 @failingTest |
| 1157 void test_parseForStatement_each_var() { |
| 1158 super.test_parseForStatement_each_var(); |
| 1159 } |
| 1160 |
| 1161 @override |
| 1162 @failingTest |
| 1163 void test_parseForStatement_loop_c() { |
| 1164 super.test_parseForStatement_loop_c(); |
| 1165 } |
| 1166 |
| 1167 @override |
| 1168 @failingTest |
| 1169 void test_parseForStatement_loop_cu() { |
| 1170 super.test_parseForStatement_loop_cu(); |
| 1171 } |
| 1172 |
| 1173 @override |
| 1174 @failingTest |
| 1175 void test_parseForStatement_loop_ecu() { |
| 1176 super.test_parseForStatement_loop_ecu(); |
| 1177 } |
| 1178 |
| 1179 @override |
| 1180 @failingTest |
| 1181 void test_parseForStatement_loop_i() { |
| 1182 super.test_parseForStatement_loop_i(); |
| 1183 } |
| 1184 |
| 1185 @override |
| 1186 @failingTest |
| 1187 void test_parseForStatement_loop_i_withMetadata() { |
| 1188 super.test_parseForStatement_loop_i_withMetadata(); |
| 1189 } |
| 1190 |
| 1191 @override |
| 1192 @failingTest |
| 1193 void test_parseForStatement_loop_ic() { |
| 1194 super.test_parseForStatement_loop_ic(); |
| 1195 } |
| 1196 |
| 1197 @override |
| 1198 @failingTest |
| 1199 void test_parseForStatement_loop_icu() { |
| 1200 super.test_parseForStatement_loop_icu(); |
| 1201 } |
| 1202 |
| 1203 @override |
| 1204 @failingTest |
| 1205 void test_parseForStatement_loop_iicuu() { |
| 1206 super.test_parseForStatement_loop_iicuu(); |
| 1207 } |
| 1208 |
| 1209 @override |
| 1210 @failingTest |
| 1211 void test_parseForStatement_loop_iu() { |
| 1212 super.test_parseForStatement_loop_iu(); |
| 1213 } |
| 1214 |
| 1215 @override |
| 1216 @failingTest |
| 1217 void test_parseForStatement_loop_u() { |
| 1218 super.test_parseForStatement_loop_u(); |
| 1219 } |
| 1220 |
| 1221 @override |
| 1222 @failingTest |
| 1223 void test_parseNonLabeledStatement_functionDeclaration() { |
| 1224 super.test_parseNonLabeledStatement_functionDeclaration(); |
| 1225 } |
| 1226 |
| 1227 @override |
| 1228 @failingTest |
| 1229 void test_parseNonLabeledStatement_functionDeclaration_arguments() { |
| 1230 super.test_parseNonLabeledStatement_functionDeclaration_arguments(); |
| 1231 } |
| 1232 |
| 1233 @override |
| 1234 @failingTest |
| 1235 void test_parseStatement_emptyTypeArgumentList() { |
| 1236 super.test_parseStatement_emptyTypeArgumentList(); |
| 1237 } |
| 1238 |
| 1239 @override |
| 1240 @failingTest |
| 1241 void |
| 1242 test_parseStatement_functionDeclaration_noReturnType_typeParameterComments
() { |
| 1243 super |
| 1244 .test_parseStatement_functionDeclaration_noReturnType_typeParameterComme
nts(); |
| 1245 } |
| 1246 |
| 1247 @override |
| 1248 @failingTest |
| 1249 void test_parseStatement_functionDeclaration_noReturnType_typeParameters() { |
| 1250 super.test_parseStatement_functionDeclaration_noReturnType_typeParameters(); |
| 1251 } |
| 1252 |
| 1253 @override |
| 1254 @failingTest |
| 1255 void test_parseStatement_functionDeclaration_returnType() { |
| 1256 super.test_parseStatement_functionDeclaration_returnType(); |
| 1257 } |
| 1258 |
| 1259 @override |
| 1260 @failingTest |
| 1261 void test_parseStatement_functionDeclaration_returnType_typeParameters() { |
| 1262 super.test_parseStatement_functionDeclaration_returnType_typeParameters(); |
| 1263 } |
| 1264 |
| 1265 @override |
| 1266 @failingTest |
| 1267 void test_parseStatement_multipleLabels() { |
| 1268 super.test_parseStatement_multipleLabels(); |
| 1269 } |
| 1270 |
| 1271 @override |
| 1272 @failingTest |
| 1273 void test_parseStatement_singleLabel() { |
| 1274 super.test_parseStatement_singleLabel(); |
| 1275 } |
| 1276 |
| 1277 @override |
| 1278 @failingTest |
| 1279 void test_parseSwitchStatement_case() { |
| 1280 super.test_parseSwitchStatement_case(); |
| 1281 } |
| 1282 |
| 1283 @override |
| 1284 @failingTest |
| 1285 void test_parseSwitchStatement_empty() { |
| 1286 super.test_parseSwitchStatement_empty(); |
| 1287 } |
| 1288 |
| 1289 @override |
| 1290 @failingTest |
| 1291 void test_parseSwitchStatement_labeledCase() { |
| 1292 super.test_parseSwitchStatement_labeledCase(); |
| 1293 } |
| 1294 |
| 1295 @override |
| 1296 @failingTest |
| 1297 void test_parseSwitchStatement_labeledDefault() { |
| 1298 super.test_parseSwitchStatement_labeledDefault(); |
| 1299 } |
| 1300 |
| 1301 @override |
| 1302 @failingTest |
| 1303 void test_parseSwitchStatement_labeledStatementInCase() { |
| 1304 super.test_parseSwitchStatement_labeledStatementInCase(); |
| 1305 } |
| 1306 |
| 1307 @override |
| 1308 @failingTest |
| 1309 void test_parseTryStatement_catch() { |
| 1310 super.test_parseTryStatement_catch(); |
| 1311 } |
| 1312 |
| 1313 @override |
| 1314 @failingTest |
| 1315 void test_parseTryStatement_catch_finally() { |
| 1316 super.test_parseTryStatement_catch_finally(); |
| 1317 } |
| 1318 |
| 1319 @override |
| 1320 @failingTest |
| 1321 void test_parseTryStatement_finally() { |
| 1322 super.test_parseTryStatement_finally(); |
| 1323 } |
| 1324 |
| 1325 @override |
| 1326 @failingTest |
| 1327 void test_parseTryStatement_multiple() { |
| 1328 super.test_parseTryStatement_multiple(); |
| 1329 } |
| 1330 |
| 1331 @override |
| 1332 @failingTest |
| 1333 void test_parseTryStatement_on() { |
| 1334 super.test_parseTryStatement_on(); |
| 1335 } |
| 1336 |
| 1337 @override |
| 1338 @failingTest |
| 1339 void test_parseTryStatement_on_catch() { |
| 1340 super.test_parseTryStatement_on_catch(); |
| 1341 } |
| 1342 |
| 1343 @override |
| 1344 @failingTest |
| 1345 void test_parseTryStatement_on_catch_finally() { |
| 1346 super.test_parseTryStatement_on_catch_finally(); |
| 1347 } |
| 1348 |
| 1349 @override |
| 1350 @failingTest |
| 1351 void test_parseWhileStatement() { |
| 1352 super.test_parseWhileStatement(); |
| 1353 } |
| 1354 |
| 1355 @override |
| 1356 @failingTest |
| 1357 void test_parseYieldStatement_each() { |
| 1358 super.test_parseYieldStatement_each(); |
| 1359 } |
| 1360 |
| 1361 @override |
| 1362 @failingTest |
| 1363 void test_parseYieldStatement_normal() { |
| 1364 super.test_parseYieldStatement_normal(); |
| 1365 } |
| 1366 } |
| 1367 |
| 1368 /** |
| 1079 * Tests of the fasta parser based on [TopLevelParserTestMixin]. | 1369 * Tests of the fasta parser based on [TopLevelParserTestMixin]. |
| 1080 */ | 1370 */ |
| 1081 @reflectiveTest | 1371 @reflectiveTest |
| 1082 class TopLevelParserTest_Fasta extends FastaParserTestCase | 1372 class TopLevelParserTest_Fasta extends FastaParserTestCase |
| 1083 with TopLevelParserTestMixin { | 1373 with TopLevelParserTestMixin { |
| 1084 @override | 1374 @override |
| 1085 @failingTest | 1375 @failingTest |
| 1086 void test_parseClassDeclaration_native() { | 1376 void test_parseClassDeclaration_native() { |
| 1087 // TODO(paulberry): TODO(paulberry,ahe): Fasta parser doesn't appear to supp
ort "native" syntax yet. | 1377 // TODO(paulberry): TODO(paulberry,ahe): Fasta parser doesn't appear to supp
ort "native" syntax yet. |
| 1088 super.test_parseClassDeclaration_native(); | 1378 super.test_parseClassDeclaration_native(); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1157 } | 1447 } |
| 1158 | 1448 |
| 1159 @override | 1449 @override |
| 1160 @failingTest | 1450 @failingTest |
| 1161 void test_parsePartOfDirective_uri() { | 1451 void test_parsePartOfDirective_uri() { |
| 1162 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by | 1452 // TODO(paulberry,ahe): URIs in "part of" declarations are not supported by |
| 1163 // Fasta. | 1453 // Fasta. |
| 1164 super.test_parsePartOfDirective_uri(); | 1454 super.test_parsePartOfDirective_uri(); |
| 1165 } | 1455 } |
| 1166 } | 1456 } |
| OLD | NEW |