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

Side by Side Diff: pkg/analyzer/test/generated/parser_test.dart

Issue 156763002: New analyzer snapshot. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library engine.parser_test; 8 library engine.parser_test;
9 9
10 import 'package:analyzer/src/generated/java_core.dart'; 10 import 'package:analyzer/src/generated/java_core.dart';
(...skipping 4476 matching lines...) Expand 10 before | Expand all | Expand 10 after
4487 * 4487 *
4488 * @param source the source to be scanned to produce the token stream being te sted 4488 * @param source the source to be scanned to produce the token stream being te sted
4489 * @return the result of invoking the method 4489 * @return the result of invoking the method
4490 * @throws Exception if the method could not be invoked or throws an exception 4490 * @throws Exception if the method could not be invoked or throws an exception
4491 */ 4491 */
4492 bool isFunctionExpression(String source) { 4492 bool isFunctionExpression(String source) {
4493 GatheringErrorListener listener = new GatheringErrorListener(); 4493 GatheringErrorListener listener = new GatheringErrorListener();
4494 // 4494 //
4495 // Scan the source. 4495 // Scan the source.
4496 // 4496 //
4497 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 4497 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
4498 Token tokenStream = scanner.tokenize(); 4498 Token tokenStream = scanner.tokenize();
4499 // 4499 //
4500 // Parse the source. 4500 // Parse the source.
4501 // 4501 //
4502 Parser parser = new Parser(null, listener); 4502 Parser parser = new Parser(null, listener);
4503 return invokeParserMethodImpl(parser, "isFunctionExpression", <Object> [toke nStream], tokenStream) as bool; 4503 return invokeParserMethodImpl(parser, "isFunctionExpression", <Object> [toke nStream], tokenStream) as bool;
4504 } 4504 }
4505 4505
4506 /** 4506 /**
4507 * Invoke the method [Parser#isInitializedVariableDeclaration] with the parser set to the 4507 * Invoke the method [Parser#isInitializedVariableDeclaration] with the parser set to the
(...skipping 29 matching lines...) Expand all
4537 * @param source the source to be processed by the method 4537 * @param source the source to be processed by the method
4538 * @return the result of invoking the method 4538 * @return the result of invoking the method
4539 * @throws Exception if the method could not be invoked or throws an exception 4539 * @throws Exception if the method could not be invoked or throws an exception
4540 * @throws AssertionFailedError if the result is `null` 4540 * @throws AssertionFailedError if the result is `null`
4541 */ 4541 */
4542 Token skip(String methodName, String source) { 4542 Token skip(String methodName, String source) {
4543 GatheringErrorListener listener = new GatheringErrorListener(); 4543 GatheringErrorListener listener = new GatheringErrorListener();
4544 // 4544 //
4545 // Scan the source. 4545 // Scan the source.
4546 // 4546 //
4547 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 4547 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
4548 Token tokenStream = scanner.tokenize(); 4548 Token tokenStream = scanner.tokenize();
4549 // 4549 //
4550 // Parse the source. 4550 // Parse the source.
4551 // 4551 //
4552 Parser parser = new Parser(null, listener); 4552 Parser parser = new Parser(null, listener);
4553 return invokeParserMethodImpl(parser, methodName, <Object> [tokenStream], to kenStream) as Token; 4553 return invokeParserMethodImpl(parser, methodName, <Object> [tokenStream], to kenStream) as Token;
4554 } 4554 }
4555 4555
4556 static dartSuite() { 4556 static dartSuite() {
4557 _ut.group('SimpleParserTest', () { 4557 _ut.group('SimpleParserTest', () {
(...skipping 2838 matching lines...) Expand 10 before | Expand all | Expand 10 after
7396 * Parse the given source as a compilation unit. 7396 * Parse the given source as a compilation unit.
7397 * 7397 *
7398 * @param source the source to be parsed 7398 * @param source the source to be parsed
7399 * @param errorCodes the error codes of the errors that are expected to be fou nd 7399 * @param errorCodes the error codes of the errors that are expected to be fou nd
7400 * @return the compilation unit that was parsed 7400 * @return the compilation unit that was parsed
7401 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do 7401 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
7402 * not match those that are expected, or if the result would have be en `null` 7402 * not match those that are expected, or if the result would have be en `null`
7403 */ 7403 */
7404 static CompilationUnit parseCompilationUnit(String source, List<ErrorCode> err orCodes) { 7404 static CompilationUnit parseCompilationUnit(String source, List<ErrorCode> err orCodes) {
7405 GatheringErrorListener listener = new GatheringErrorListener(); 7405 GatheringErrorListener listener = new GatheringErrorListener();
7406 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 7406 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
7407 listener.setLineInfo(new TestSource(), scanner.lineStarts); 7407 listener.setLineInfo(new TestSource(), scanner.lineStarts);
7408 Token token = scanner.tokenize(); 7408 Token token = scanner.tokenize();
7409 Parser parser = new Parser(null, listener); 7409 Parser parser = new Parser(null, listener);
7410 CompilationUnit unit = parser.parseCompilationUnit(token); 7410 CompilationUnit unit = parser.parseCompilationUnit(token);
7411 JUnitTestCase.assertNotNull(unit); 7411 JUnitTestCase.assertNotNull(unit);
7412 listener.assertErrors2(errorCodes); 7412 listener.assertErrors2(errorCodes);
7413 return unit; 7413 return unit;
7414 } 7414 }
7415 7415
7416 /** 7416 /**
7417 * Parse the given source as an expression. 7417 * Parse the given source as an expression.
7418 * 7418 *
7419 * @param source the source to be parsed 7419 * @param source the source to be parsed
7420 * @param errorCodes the error codes of the errors that are expected to be fou nd 7420 * @param errorCodes the error codes of the errors that are expected to be fou nd
7421 * @return the expression that was parsed 7421 * @return the expression that was parsed
7422 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do 7422 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
7423 * not match those that are expected, or if the result would have be en `null` 7423 * not match those that are expected, or if the result would have be en `null`
7424 */ 7424 */
7425 static Expression parseExpression(String source, List<ErrorCode> errorCodes) { 7425 static Expression parseExpression(String source, List<ErrorCode> errorCodes) {
7426 GatheringErrorListener listener = new GatheringErrorListener(); 7426 GatheringErrorListener listener = new GatheringErrorListener();
7427 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 7427 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
7428 listener.setLineInfo(new TestSource(), scanner.lineStarts); 7428 listener.setLineInfo(new TestSource(), scanner.lineStarts);
7429 Token token = scanner.tokenize(); 7429 Token token = scanner.tokenize();
7430 Parser parser = new Parser(null, listener); 7430 Parser parser = new Parser(null, listener);
7431 Expression expression = parser.parseExpression(token); 7431 Expression expression = parser.parseExpression(token);
7432 JUnitTestCase.assertNotNull(expression); 7432 JUnitTestCase.assertNotNull(expression);
7433 listener.assertErrors2(errorCodes); 7433 listener.assertErrors2(errorCodes);
7434 return expression; 7434 return expression;
7435 } 7435 }
7436 7436
7437 /** 7437 /**
7438 * Parse the given source as a statement. 7438 * Parse the given source as a statement.
7439 * 7439 *
7440 * @param source the source to be parsed 7440 * @param source the source to be parsed
7441 * @param errorCodes the error codes of the errors that are expected to be fou nd 7441 * @param errorCodes the error codes of the errors that are expected to be fou nd
7442 * @return the statement that was parsed 7442 * @return the statement that was parsed
7443 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do 7443 * @throws Exception if the source could not be parsed, if the compilation err ors in the source do
7444 * not match those that are expected, or if the result would have be en `null` 7444 * not match those that are expected, or if the result would have be en `null`
7445 */ 7445 */
7446 static Statement parseStatement(String source, List<ErrorCode> errorCodes) { 7446 static Statement parseStatement(String source, List<ErrorCode> errorCodes) {
7447 GatheringErrorListener listener = new GatheringErrorListener(); 7447 GatheringErrorListener listener = new GatheringErrorListener();
7448 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 7448 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
7449 listener.setLineInfo(new TestSource(), scanner.lineStarts); 7449 listener.setLineInfo(new TestSource(), scanner.lineStarts);
7450 Token token = scanner.tokenize(); 7450 Token token = scanner.tokenize();
7451 Parser parser = new Parser(null, listener); 7451 Parser parser = new Parser(null, listener);
7452 Statement statement = parser.parseStatement(token); 7452 Statement statement = parser.parseStatement(token);
7453 JUnitTestCase.assertNotNull(statement); 7453 JUnitTestCase.assertNotNull(statement);
7454 listener.assertErrors2(errorCodes); 7454 listener.assertErrors2(errorCodes);
7455 return statement; 7455 return statement;
7456 } 7456 }
7457 7457
7458 /** 7458 /**
7459 * Parse the given source as a sequence of statements. 7459 * Parse the given source as a sequence of statements.
7460 * 7460 *
7461 * @param source the source to be parsed 7461 * @param source the source to be parsed
7462 * @param expectedCount the number of statements that are expected 7462 * @param expectedCount the number of statements that are expected
7463 * @param errorCodes the error codes of the errors that are expected to be fou nd 7463 * @param errorCodes the error codes of the errors that are expected to be fou nd
7464 * @return the statements that were parsed 7464 * @return the statements that were parsed
7465 * @throws Exception if the source could not be parsed, if the number of state ments does not match 7465 * @throws Exception if the source could not be parsed, if the number of state ments does not match
7466 * the expected count, if the compilation errors in the source do no t match those that 7466 * the expected count, if the compilation errors in the source do no t match those that
7467 * are expected, or if the result would have been `null` 7467 * are expected, or if the result would have been `null`
7468 */ 7468 */
7469 static List<Statement> parseStatements(String source, int expectedCount, List< ErrorCode> errorCodes) { 7469 static List<Statement> parseStatements(String source, int expectedCount, List< ErrorCode> errorCodes) {
7470 GatheringErrorListener listener = new GatheringErrorListener(); 7470 GatheringErrorListener listener = new GatheringErrorListener();
7471 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 7471 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
7472 listener.setLineInfo(new TestSource(), scanner.lineStarts); 7472 listener.setLineInfo(new TestSource(), scanner.lineStarts);
7473 Token token = scanner.tokenize(); 7473 Token token = scanner.tokenize();
7474 Parser parser = new Parser(null, listener); 7474 Parser parser = new Parser(null, listener);
7475 List<Statement> statements = parser.parseStatements(token); 7475 List<Statement> statements = parser.parseStatements(token);
7476 EngineTestCase.assertSize(expectedCount, statements); 7476 EngineTestCase.assertSize(expectedCount, statements);
7477 listener.assertErrors2(errorCodes); 7477 listener.assertErrors2(errorCodes);
7478 return statements; 7478 return statements;
7479 } 7479 }
7480 7480
7481 /** 7481 /**
7482 * Invoke a method in [Parser]. The method is assumed to have the given number and type of 7482 * Invoke a method in [Parser]. The method is assumed to have the given number and type of
7483 * parameters and will be invoked with the given arguments. 7483 * parameters and will be invoked with the given arguments.
7484 * 7484 *
7485 * The given source is scanned and the parser is initialized to start with the first token in the 7485 * The given source is scanned and the parser is initialized to start with the first token in the
7486 * source before the method is invoked. 7486 * source before the method is invoked.
7487 * 7487 *
7488 * @param methodName the name of the method that should be invoked 7488 * @param methodName the name of the method that should be invoked
7489 * @param objects the values of the arguments to the method 7489 * @param objects the values of the arguments to the method
7490 * @param source the source to be processed by the parse method 7490 * @param source the source to be processed by the parse method
7491 * @param listener the error listener that will be used for both scanning and parsing 7491 * @param listener the error listener that will be used for both scanning and parsing
7492 * @return the result of invoking the method 7492 * @return the result of invoking the method
7493 * @throws Exception if the method could not be invoked or throws an exception 7493 * @throws Exception if the method could not be invoked or throws an exception
7494 * @throws AssertionFailedError if the result is `null` or the errors produced while 7494 * @throws AssertionFailedError if the result is `null` or the errors produced while
7495 * scanning and parsing the source do not match the expected errors 7495 * scanning and parsing the source do not match the expected errors
7496 */ 7496 */
7497 static Object invokeParserMethod(String methodName, List<Object> objects, Stri ng source, GatheringErrorListener listener) { 7497 static Object invokeParserMethod(String methodName, List<Object> objects, Stri ng source, GatheringErrorListener listener) {
7498 // 7498 //
7499 // Scan the source. 7499 // Scan the source.
7500 // 7500 //
7501 Scanner scanner = new Scanner(null, new CharSequenceReader(new CharSequence( source)), listener); 7501 Scanner scanner = new Scanner(null, new CharSequenceReader(source), listener );
7502 Token tokenStream = scanner.tokenize(); 7502 Token tokenStream = scanner.tokenize();
7503 listener.setLineInfo(new TestSource(), scanner.lineStarts); 7503 listener.setLineInfo(new TestSource(), scanner.lineStarts);
7504 // 7504 //
7505 // Parse the source. 7505 // Parse the source.
7506 // 7506 //
7507 Parser parser = new Parser(null, listener); 7507 Parser parser = new Parser(null, listener);
7508 parser.parseFunctionBodies = _parseFunctionBodies; 7508 parser.parseFunctionBodies = _parseFunctionBodies;
7509 Object result = invokeParserMethodImpl(parser, methodName, objects, tokenStr eam); 7509 Object result = invokeParserMethodImpl(parser, methodName, objects, tokenStr eam);
7510 // 7510 //
7511 // Partially test the results. 7511 // Partially test the results.
(...skipping 1912 matching lines...) Expand 10 before | Expand all | Expand 10 after
9424 // Compute the information needed to perform the test. 9424 // Compute the information needed to perform the test.
9425 // 9425 //
9426 String originalContents = "${prefix}${removed}${suffix}"; 9426 String originalContents = "${prefix}${removed}${suffix}";
9427 String modifiedContents = "${prefix}${added}${suffix}"; 9427 String modifiedContents = "${prefix}${added}${suffix}";
9428 int replaceStart = prefix.length; 9428 int replaceStart = prefix.length;
9429 Source source = new TestSource(); 9429 Source source = new TestSource();
9430 // 9430 //
9431 // Parse the original contents. 9431 // Parse the original contents.
9432 // 9432 //
9433 GatheringErrorListener originalListener = new GatheringErrorListener(); 9433 GatheringErrorListener originalListener = new GatheringErrorListener();
9434 Scanner originalScanner = new Scanner(source, new CharSequenceReader(new Cha rSequence(originalContents)), originalListener); 9434 Scanner originalScanner = new Scanner(source, new CharSequenceReader(origina lContents), originalListener);
9435 Token originalTokens = originalScanner.tokenize(); 9435 Token originalTokens = originalScanner.tokenize();
9436 JUnitTestCase.assertNotNull(originalTokens); 9436 JUnitTestCase.assertNotNull(originalTokens);
9437 Parser originalParser = new Parser(source, originalListener); 9437 Parser originalParser = new Parser(source, originalListener);
9438 CompilationUnit originalUnit = originalParser.parseCompilationUnit(originalT okens); 9438 CompilationUnit originalUnit = originalParser.parseCompilationUnit(originalT okens);
9439 JUnitTestCase.assertNotNull(originalUnit); 9439 JUnitTestCase.assertNotNull(originalUnit);
9440 // 9440 //
9441 // Parse the modified contents. 9441 // Parse the modified contents.
9442 // 9442 //
9443 GatheringErrorListener modifiedListener = new GatheringErrorListener(); 9443 GatheringErrorListener modifiedListener = new GatheringErrorListener();
9444 Scanner modifiedScanner = new Scanner(source, new CharSequenceReader(new Cha rSequence(modifiedContents)), modifiedListener); 9444 Scanner modifiedScanner = new Scanner(source, new CharSequenceReader(modifie dContents), modifiedListener);
9445 Token modifiedTokens = modifiedScanner.tokenize(); 9445 Token modifiedTokens = modifiedScanner.tokenize();
9446 JUnitTestCase.assertNotNull(modifiedTokens); 9446 JUnitTestCase.assertNotNull(modifiedTokens);
9447 Parser modifiedParser = new Parser(source, modifiedListener); 9447 Parser modifiedParser = new Parser(source, modifiedListener);
9448 CompilationUnit modifiedUnit = modifiedParser.parseCompilationUnit(modifiedT okens); 9448 CompilationUnit modifiedUnit = modifiedParser.parseCompilationUnit(modifiedT okens);
9449 JUnitTestCase.assertNotNull(modifiedUnit); 9449 JUnitTestCase.assertNotNull(modifiedUnit);
9450 // 9450 //
9451 // Incrementally parse the modified contents. 9451 // Incrementally parse the modified contents.
9452 // 9452 //
9453 GatheringErrorListener incrementalListener = new GatheringErrorListener(); 9453 GatheringErrorListener incrementalListener = new GatheringErrorListener();
9454 IncrementalScanner incrementalScanner = new IncrementalScanner(source, new C harSequenceReader(new CharSequence(modifiedContents)), incrementalListener); 9454 IncrementalScanner incrementalScanner = new IncrementalScanner(source, new C harSequenceReader(modifiedContents), incrementalListener);
9455 Token incrementalTokens = incrementalScanner.rescan(originalTokens, replaceS tart, removed.length, added.length); 9455 Token incrementalTokens = incrementalScanner.rescan(originalTokens, replaceS tart, removed.length, added.length);
9456 JUnitTestCase.assertNotNull(incrementalTokens); 9456 JUnitTestCase.assertNotNull(incrementalTokens);
9457 IncrementalParser incrementalParser = new IncrementalParser(source, incremen talScanner.tokenMap, incrementalListener); 9457 IncrementalParser incrementalParser = new IncrementalParser(source, incremen talScanner.tokenMap, incrementalListener);
9458 CompilationUnit incrementalUnit = incrementalParser.reparse(originalUnit, in crementalScanner.leftToken, incrementalScanner.rightToken, replaceStart, prefix. length + removed.length); 9458 CompilationUnit incrementalUnit = incrementalParser.reparse(originalUnit, in crementalScanner.leftToken, incrementalScanner.rightToken, replaceStart, prefix. length + removed.length);
9459 JUnitTestCase.assertNotNull(incrementalUnit); 9459 JUnitTestCase.assertNotNull(incrementalUnit);
9460 // 9460 //
9461 // Validate that the results of the incremental parse are the same as the fu ll parse of the 9461 // Validate that the results of the incremental parse are the same as the fu ll parse of the
9462 // modified source. 9462 // modified source.
9463 // 9463 //
9464 JUnitTestCase.assertTrue(ASTComparator.equals4(modifiedUnit, incrementalUnit )); 9464 JUnitTestCase.assertTrue(ASTComparator.equals4(modifiedUnit, incrementalUnit ));
(...skipping 2344 matching lines...) Expand 10 before | Expand all | Expand 10 after
11809 'validateModifiersForTopLevelFunction_1': new MethodTrampoline(1, (Parser targ et, arg0) => target.validateModifiersForTopLevelFunction(arg0)), 11809 'validateModifiersForTopLevelFunction_1': new MethodTrampoline(1, (Parser targ et, arg0) => target.validateModifiersForTopLevelFunction(arg0)),
11810 'validateModifiersForTopLevelVariable_1': new MethodTrampoline(1, (Parser targ et, arg0) => target.validateModifiersForTopLevelVariable(arg0)), 11810 'validateModifiersForTopLevelVariable_1': new MethodTrampoline(1, (Parser targ et, arg0) => target.validateModifiersForTopLevelVariable(arg0)),
11811 'validateModifiersForTypedef_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForTypedef(arg0)),}; 11811 'validateModifiersForTypedef_1': new MethodTrampoline(1, (Parser target, arg0) => target.validateModifiersForTypedef(arg0)),};
11812 11812
11813 11813
11814 Object invokeParserMethodImpl(Parser parser, String methodName, List<Object> obj ects, Token tokenStream) { 11814 Object invokeParserMethodImpl(Parser parser, String methodName, List<Object> obj ects, Token tokenStream) {
11815 parser.currentToken = tokenStream; 11815 parser.currentToken = tokenStream;
11816 MethodTrampoline method = _methodTable_Parser['${methodName}_${objects.length} ']; 11816 MethodTrampoline method = _methodTable_Parser['${methodName}_${objects.length} '];
11817 return method.invoke(parser, objects); 11817 return method.invoke(parser, objects);
11818 } 11818 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698