OLD | NEW |
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.ast_test; | 8 library engine.ast_test; |
9 | 9 |
10 import 'package:analyzer/src/generated/ast.dart'; | 10 import 'package:analyzer/src/generated/ast.dart'; |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 88 |
89 BreadthFirstVisitor_BreadthFirstVisitorTest_testIt(this.nodes) : super(); | 89 BreadthFirstVisitor_BreadthFirstVisitorTest_testIt(this.nodes) : super(); |
90 | 90 |
91 @override | 91 @override |
92 Object visitNode(AstNode node) { | 92 Object visitNode(AstNode node) { |
93 nodes.add(node); | 93 nodes.add(node); |
94 return super.visitNode(node); | 94 return super.visitNode(node); |
95 } | 95 } |
96 } | 96 } |
97 | 97 |
98 @ReflectiveTestCase() | 98 @reflectiveTest |
99 class BreadthFirstVisitorTest extends ParserTestCase { | 99 class BreadthFirstVisitorTest extends ParserTestCase { |
100 void test_it() { | 100 void test_it() { |
101 String source = r''' | 101 String source = r''' |
102 class A { | 102 class A { |
103 bool get g => true; | 103 bool get g => true; |
104 } | 104 } |
105 class B { | 105 class B { |
106 int f() { | 106 int f() { |
107 num q() { | 107 num q() { |
108 return 3; | 108 return 3; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 FunctionDeclarationStatement, | 140 FunctionDeclarationStatement, |
141 nodes[27]); | 141 nodes[27]); |
142 EngineTestCase.assertInstanceOf( | 142 EngineTestCase.assertInstanceOf( |
143 (obj) => obj is IntegerLiteral, | 143 (obj) => obj is IntegerLiteral, |
144 IntegerLiteral, | 144 IntegerLiteral, |
145 nodes[58]); | 145 nodes[58]); |
146 //3 | 146 //3 |
147 } | 147 } |
148 } | 148 } |
149 | 149 |
150 @ReflectiveTestCase() | 150 @reflectiveTest |
151 class ClassDeclarationTest extends ParserTestCase { | 151 class ClassDeclarationTest extends ParserTestCase { |
152 void test_getConstructor() { | 152 void test_getConstructor() { |
153 List<ConstructorInitializer> initializers = | 153 List<ConstructorInitializer> initializers = |
154 new List<ConstructorInitializer>(); | 154 new List<ConstructorInitializer>(); |
155 ConstructorDeclaration defaultConstructor = | 155 ConstructorDeclaration defaultConstructor = |
156 AstFactory.constructorDeclaration( | 156 AstFactory.constructorDeclaration( |
157 AstFactory.identifier3("Test"), | 157 AstFactory.identifier3("Test"), |
158 null, | 158 null, |
159 AstFactory.formalParameterList(), | 159 AstFactory.formalParameterList(), |
160 initializers); | 160 initializers); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 Keyword.ABSTRACT, | 239 Keyword.ABSTRACT, |
240 "B", | 240 "B", |
241 null, | 241 null, |
242 null, | 242 null, |
243 null, | 243 null, |
244 null).isAbstract, | 244 null).isAbstract, |
245 isTrue); | 245 isTrue); |
246 } | 246 } |
247 } | 247 } |
248 | 248 |
249 @ReflectiveTestCase() | 249 @reflectiveTest |
250 class ClassTypeAliasTest extends ParserTestCase { | 250 class ClassTypeAliasTest extends ParserTestCase { |
251 void test_isAbstract() { | 251 void test_isAbstract() { |
252 expect( | 252 expect( |
253 AstFactory.classTypeAlias("A", null, null, null, null, null).isAbstract, | 253 AstFactory.classTypeAlias("A", null, null, null, null, null).isAbstract, |
254 isFalse); | 254 isFalse); |
255 expect( | 255 expect( |
256 AstFactory.classTypeAlias( | 256 AstFactory.classTypeAlias( |
257 "B", | 257 "B", |
258 null, | 258 null, |
259 Keyword.ABSTRACT, | 259 Keyword.ABSTRACT, |
260 null, | 260 null, |
261 null, | 261 null, |
262 null).isAbstract, | 262 null).isAbstract, |
263 isTrue); | 263 isTrue); |
264 } | 264 } |
265 } | 265 } |
266 | 266 |
267 @ReflectiveTestCase() | 267 @reflectiveTest |
268 class ConstantEvaluatorTest extends ParserTestCase { | 268 class ConstantEvaluatorTest extends ParserTestCase { |
269 void fail_constructor() { | 269 void fail_constructor() { |
270 Object value = _getConstantValue("?"); | 270 Object value = _getConstantValue("?"); |
271 expect(value, null); | 271 expect(value, null); |
272 } | 272 } |
273 | 273 |
274 void fail_identifier_class() { | 274 void fail_identifier_class() { |
275 Object value = _getConstantValue("?"); | 275 Object value = _getConstantValue("?"); |
276 expect(value, null); | 276 expect(value, null); |
277 } | 277 } |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
575 void test_unary_negated_integer() { | 575 void test_unary_negated_integer() { |
576 Object value = _getConstantValue("-42"); | 576 Object value = _getConstantValue("-42"); |
577 EngineTestCase.assertInstanceOf((obj) => obj is int, int, value); | 577 EngineTestCase.assertInstanceOf((obj) => obj is int, int, value); |
578 expect(value as int, -42); | 578 expect(value as int, -42); |
579 } | 579 } |
580 | 580 |
581 Object _getConstantValue(String source) => | 581 Object _getConstantValue(String source) => |
582 ParserTestCase.parseExpression(source).accept(new ConstantEvaluator()); | 582 ParserTestCase.parseExpression(source).accept(new ConstantEvaluator()); |
583 } | 583 } |
584 | 584 |
585 @ReflectiveTestCase() | 585 @reflectiveTest |
586 class ConstructorDeclarationTest extends EngineTestCase { | 586 class ConstructorDeclarationTest extends EngineTestCase { |
587 void test_firstTokenAfterCommentAndMetadata_all_inverted() { | 587 void test_firstTokenAfterCommentAndMetadata_all_inverted() { |
588 Token externalKeyword = TokenFactory.tokenFromKeyword(Keyword.EXTERNAL); | 588 Token externalKeyword = TokenFactory.tokenFromKeyword(Keyword.EXTERNAL); |
589 externalKeyword.offset = 14; | 589 externalKeyword.offset = 14; |
590 ConstructorDeclaration declaration = AstFactory.constructorDeclaration2( | 590 ConstructorDeclaration declaration = AstFactory.constructorDeclaration2( |
591 Keyword.CONST, | 591 Keyword.CONST, |
592 Keyword.FACTORY, | 592 Keyword.FACTORY, |
593 AstFactory.identifier3('int'), | 593 AstFactory.identifier3('int'), |
594 null, | 594 null, |
595 null, | 595 null, |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 null, | 655 null, |
656 null, | 656 null, |
657 null, | 657 null, |
658 null); | 658 null); |
659 expect( | 659 expect( |
660 declaration.firstTokenAfterCommentAndMetadata, | 660 declaration.firstTokenAfterCommentAndMetadata, |
661 declaration.factoryKeyword); | 661 declaration.factoryKeyword); |
662 } | 662 } |
663 } | 663 } |
664 | 664 |
665 @ReflectiveTestCase() | 665 @reflectiveTest |
666 class IndexExpressionTest extends EngineTestCase { | 666 class IndexExpressionTest extends EngineTestCase { |
667 void test_inGetterContext_assignment_compound_left() { | 667 void test_inGetterContext_assignment_compound_left() { |
668 IndexExpression expression = AstFactory.indexExpression( | 668 IndexExpression expression = AstFactory.indexExpression( |
669 AstFactory.identifier3("a"), | 669 AstFactory.identifier3("a"), |
670 AstFactory.identifier3("b")); | 670 AstFactory.identifier3("b")); |
671 // a[b] += c | 671 // a[b] += c |
672 AstFactory.assignmentExpression( | 672 AstFactory.assignmentExpression( |
673 expression, | 673 expression, |
674 TokenType.PLUS_EQ, | 674 TokenType.PLUS_EQ, |
675 AstFactory.identifier3("c")); | 675 AstFactory.identifier3("c")); |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
790 void test_inSetterContext_prefix_plusPlus() { | 790 void test_inSetterContext_prefix_plusPlus() { |
791 IndexExpression expression = AstFactory.indexExpression( | 791 IndexExpression expression = AstFactory.indexExpression( |
792 AstFactory.identifier3("a"), | 792 AstFactory.identifier3("a"), |
793 AstFactory.identifier3("b")); | 793 AstFactory.identifier3("b")); |
794 // ++a[b] | 794 // ++a[b] |
795 AstFactory.prefixExpression(TokenType.PLUS_PLUS, expression); | 795 AstFactory.prefixExpression(TokenType.PLUS_PLUS, expression); |
796 expect(expression.inSetterContext(), isTrue); | 796 expect(expression.inSetterContext(), isTrue); |
797 } | 797 } |
798 } | 798 } |
799 | 799 |
800 @ReflectiveTestCase() | 800 @reflectiveTest |
801 class NodeListTest extends EngineTestCase { | 801 class NodeListTest extends EngineTestCase { |
802 void test_add() { | 802 void test_add() { |
803 AstNode parent = AstFactory.argumentList(); | 803 AstNode parent = AstFactory.argumentList(); |
804 AstNode firstNode = AstFactory.booleanLiteral(true); | 804 AstNode firstNode = AstFactory.booleanLiteral(true); |
805 AstNode secondNode = AstFactory.booleanLiteral(false); | 805 AstNode secondNode = AstFactory.booleanLiteral(false); |
806 NodeList<AstNode> list = new NodeList<AstNode>(parent); | 806 NodeList<AstNode> list = new NodeList<AstNode>(parent); |
807 list.insert(0, secondNode); | 807 list.insert(0, secondNode); |
808 list.insert(0, firstNode); | 808 list.insert(0, firstNode); |
809 expect(list, hasLength(2)); | 809 expect(list, hasLength(2)); |
810 expect(list[0], same(firstNode)); | 810 expect(list[0], same(firstNode)); |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 NodeList<AstNode> list = new NodeList<AstNode>(AstFactory.argumentList()); | 1018 NodeList<AstNode> list = new NodeList<AstNode>(AstFactory.argumentList()); |
1019 try { | 1019 try { |
1020 javaListSet(list, 1, node); | 1020 javaListSet(list, 1, node); |
1021 fail("Expected IndexOutOfBoundsException"); | 1021 fail("Expected IndexOutOfBoundsException"); |
1022 } on RangeError catch (exception) { | 1022 } on RangeError catch (exception) { |
1023 // Expected | 1023 // Expected |
1024 } | 1024 } |
1025 } | 1025 } |
1026 } | 1026 } |
1027 | 1027 |
1028 @ReflectiveTestCase() | 1028 @reflectiveTest |
1029 class NodeLocatorTest extends ParserTestCase { | 1029 class NodeLocatorTest extends ParserTestCase { |
1030 void test_range() { | 1030 void test_range() { |
1031 CompilationUnit unit = | 1031 CompilationUnit unit = |
1032 ParserTestCase.parseCompilationUnit("library myLib;"); | 1032 ParserTestCase.parseCompilationUnit("library myLib;"); |
1033 _assertLocate( | 1033 _assertLocate( |
1034 unit, | 1034 unit, |
1035 4, | 1035 4, |
1036 10, | 1036 10, |
1037 (node) => node is LibraryDirective, | 1037 (node) => node is LibraryDirective, |
1038 LibraryDirective); | 1038 LibraryDirective); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 expect(locator.foundNode, same(node)); | 1080 expect(locator.foundNode, same(node)); |
1081 expect(node.offset <= start, isTrue, reason: "Node starts after range"); | 1081 expect(node.offset <= start, isTrue, reason: "Node starts after range"); |
1082 expect( | 1082 expect( |
1083 node.offset + node.length > end, | 1083 node.offset + node.length > end, |
1084 isTrue, | 1084 isTrue, |
1085 reason: "Node ends before range"); | 1085 reason: "Node ends before range"); |
1086 EngineTestCase.assertInstanceOf(predicate, expectedClass, node); | 1086 EngineTestCase.assertInstanceOf(predicate, expectedClass, node); |
1087 } | 1087 } |
1088 } | 1088 } |
1089 | 1089 |
1090 @ReflectiveTestCase() | 1090 @reflectiveTest |
1091 class SimpleIdentifierTest extends ParserTestCase { | 1091 class SimpleIdentifierTest extends ParserTestCase { |
1092 void test_inDeclarationContext_catch_exception() { | 1092 void test_inDeclarationContext_catch_exception() { |
1093 SimpleIdentifier identifier = | 1093 SimpleIdentifier identifier = |
1094 AstFactory.catchClause("e").exceptionParameter; | 1094 AstFactory.catchClause("e").exceptionParameter; |
1095 expect(identifier.inDeclarationContext(), isTrue); | 1095 expect(identifier.inDeclarationContext(), isTrue); |
1096 } | 1096 } |
1097 | 1097 |
1098 void test_inDeclarationContext_catch_stack() { | 1098 void test_inDeclarationContext_catch_stack() { |
1099 SimpleIdentifier identifier = | 1099 SimpleIdentifier identifier = |
1100 AstFactory.catchClause2("e", "s").stackTraceParameter; | 1100 AstFactory.catchClause2("e", "s").stackTraceParameter; |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1399 AstNode child = identifier; | 1399 AstNode child = identifier; |
1400 AstNode parent = identifier.parent; | 1400 AstNode parent = identifier.parent; |
1401 while (parent != null) { | 1401 while (parent != null) { |
1402 child = parent; | 1402 child = parent; |
1403 parent = parent.parent; | 1403 parent = parent.parent; |
1404 } | 1404 } |
1405 return child; | 1405 return child; |
1406 } | 1406 } |
1407 } | 1407 } |
1408 | 1408 |
1409 @ReflectiveTestCase() | 1409 @reflectiveTest |
1410 class SimpleStringLiteralTest extends ParserTestCase { | 1410 class SimpleStringLiteralTest extends ParserTestCase { |
1411 void test_contentsEnd() { | 1411 void test_contentsEnd() { |
1412 expect( | 1412 expect( |
1413 new SimpleStringLiteral(TokenFactory.tokenFromString("'X'"), "X").conten
tsEnd, | 1413 new SimpleStringLiteral(TokenFactory.tokenFromString("'X'"), "X").conten
tsEnd, |
1414 2); | 1414 2); |
1415 expect( | 1415 expect( |
1416 new SimpleStringLiteral(TokenFactory.tokenFromString("\"X\""), "X").cont
entsEnd, | 1416 new SimpleStringLiteral(TokenFactory.tokenFromString("\"X\""), "X").cont
entsEnd, |
1417 2); | 1417 2); |
1418 expect( | 1418 expect( |
1419 new SimpleStringLiteral( | 1419 new SimpleStringLiteral( |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1613 void test_simple() { | 1613 void test_simple() { |
1614 Token token = TokenFactory.tokenFromString("'value'"); | 1614 Token token = TokenFactory.tokenFromString("'value'"); |
1615 SimpleStringLiteral stringLiteral = new SimpleStringLiteral(token, "value"); | 1615 SimpleStringLiteral stringLiteral = new SimpleStringLiteral(token, "value"); |
1616 expect(stringLiteral.literal, same(token)); | 1616 expect(stringLiteral.literal, same(token)); |
1617 expect(stringLiteral.beginToken, same(token)); | 1617 expect(stringLiteral.beginToken, same(token)); |
1618 expect(stringLiteral.endToken, same(token)); | 1618 expect(stringLiteral.endToken, same(token)); |
1619 expect(stringLiteral.value, "value"); | 1619 expect(stringLiteral.value, "value"); |
1620 } | 1620 } |
1621 } | 1621 } |
1622 | 1622 |
1623 @ReflectiveTestCase() | 1623 @reflectiveTest |
1624 class StringInterpolationTest extends ParserTestCase { | 1624 class StringInterpolationTest extends ParserTestCase { |
1625 void test_contentsOffsetEnd() { | 1625 void test_contentsOffsetEnd() { |
1626 AstFactory.interpolationExpression(AstFactory.identifier3('bb')); | 1626 AstFactory.interpolationExpression(AstFactory.identifier3('bb')); |
1627 // 'a${bb}ccc' | 1627 // 'a${bb}ccc' |
1628 { | 1628 { |
1629 var ae = AstFactory.interpolationString("'a", "a"); | 1629 var ae = AstFactory.interpolationString("'a", "a"); |
1630 var cToken = new StringToken(TokenType.STRING, "ccc'", 10); | 1630 var cToken = new StringToken(TokenType.STRING, "ccc'", 10); |
1631 var cElement = new InterpolationString(cToken, 'ccc'); | 1631 var cElement = new InterpolationString(cToken, 'ccc'); |
1632 StringInterpolation node = AstFactory.string([ae, ae, cElement]); | 1632 StringInterpolation node = AstFactory.string([ae, ae, cElement]); |
1633 expect(node.contentsOffset, 1); | 1633 expect(node.contentsOffset, 1); |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1743 // ''' | 1743 // ''' |
1744 { | 1744 { |
1745 var a = AstFactory.interpolationString("'''a", "a"); | 1745 var a = AstFactory.interpolationString("'''a", "a"); |
1746 var c = AstFactory.interpolationString("ccc'''", "ccc"); | 1746 var c = AstFactory.interpolationString("ccc'''", "ccc"); |
1747 StringInterpolation node = AstFactory.string([a, b, c]); | 1747 StringInterpolation node = AstFactory.string([a, b, c]); |
1748 expect(node.isSingleQuoted, isTrue); | 1748 expect(node.isSingleQuoted, isTrue); |
1749 } | 1749 } |
1750 } | 1750 } |
1751 } | 1751 } |
1752 | 1752 |
1753 @ReflectiveTestCase() | 1753 @reflectiveTest |
1754 class ToSourceVisitorTest extends EngineTestCase { | 1754 class ToSourceVisitorTest extends EngineTestCase { |
1755 void test_visitAdjacentStrings() { | 1755 void test_visitAdjacentStrings() { |
1756 _assertSource( | 1756 _assertSource( |
1757 "'a' 'b'", | 1757 "'a' 'b'", |
1758 AstFactory.adjacentStrings([AstFactory.string2("a"), AstFactory.string2(
"b")])); | 1758 AstFactory.adjacentStrings([AstFactory.string2("a"), AstFactory.string2(
"b")])); |
1759 } | 1759 } |
1760 | 1760 |
1761 void test_visitAnnotation_constant() { | 1761 void test_visitAnnotation_constant() { |
1762 _assertSource("@A", AstFactory.annotation(AstFactory.identifier3("A"))); | 1762 _assertSource("@A", AstFactory.annotation(AstFactory.identifier3("A"))); |
1763 } | 1763 } |
(...skipping 2273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4037 * @param node the AST node being visited to produce the actual source | 4037 * @param node the AST node being visited to produce the actual source |
4038 * @throws AFE if the visitor does not produce the expected source for the giv
en node | 4038 * @throws AFE if the visitor does not produce the expected source for the giv
en node |
4039 */ | 4039 */ |
4040 void _assertSource(String expectedSource, AstNode node) { | 4040 void _assertSource(String expectedSource, AstNode node) { |
4041 PrintStringWriter writer = new PrintStringWriter(); | 4041 PrintStringWriter writer = new PrintStringWriter(); |
4042 node.accept(new ToSourceVisitor(writer)); | 4042 node.accept(new ToSourceVisitor(writer)); |
4043 expect(writer.toString(), expectedSource); | 4043 expect(writer.toString(), expectedSource); |
4044 } | 4044 } |
4045 } | 4045 } |
4046 | 4046 |
4047 @ReflectiveTestCase() | 4047 @reflectiveTest |
4048 class VariableDeclarationTest extends ParserTestCase { | 4048 class VariableDeclarationTest extends ParserTestCase { |
4049 void test_getDocumentationComment_onGrandParent() { | 4049 void test_getDocumentationComment_onGrandParent() { |
4050 VariableDeclaration varDecl = AstFactory.variableDeclaration("a"); | 4050 VariableDeclaration varDecl = AstFactory.variableDeclaration("a"); |
4051 TopLevelVariableDeclaration decl = | 4051 TopLevelVariableDeclaration decl = |
4052 AstFactory.topLevelVariableDeclaration2(Keyword.VAR, [varDecl]); | 4052 AstFactory.topLevelVariableDeclaration2(Keyword.VAR, [varDecl]); |
4053 Comment comment = Comment.createDocumentationComment(new List<Token>(0)); | 4053 Comment comment = Comment.createDocumentationComment(new List<Token>(0)); |
4054 expect(varDecl.documentationComment, isNull); | 4054 expect(varDecl.documentationComment, isNull); |
4055 decl.documentationComment = comment; | 4055 decl.documentationComment = comment; |
4056 expect(varDecl.documentationComment, isNotNull); | 4056 expect(varDecl.documentationComment, isNotNull); |
4057 expect(decl.documentationComment, isNotNull); | 4057 expect(decl.documentationComment, isNotNull); |
(...skipping 24 matching lines...) Expand all Loading... |
4082 | 4082 |
4083 static const List<WrapperKind> values = const [ | 4083 static const List<WrapperKind> values = const [ |
4084 PREFIXED_LEFT, | 4084 PREFIXED_LEFT, |
4085 PREFIXED_RIGHT, | 4085 PREFIXED_RIGHT, |
4086 PROPERTY_LEFT, | 4086 PROPERTY_LEFT, |
4087 PROPERTY_RIGHT, | 4087 PROPERTY_RIGHT, |
4088 NONE]; | 4088 NONE]; |
4089 | 4089 |
4090 const WrapperKind(String name, int ordinal) : super(name, ordinal); | 4090 const WrapperKind(String name, int ordinal) : super(name, ordinal); |
4091 } | 4091 } |
OLD | NEW |