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

Side by Side Diff: pkg/analyzer/test/src/dart/ast/utilities_test.dart

Issue 2539243002: Transition analyzer and analysis_server to new astFactory; remove old AST factory methods. (Closed)
Patch Set: Update CHANGELOG Created 4 years 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) 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 library analyzer.test.src.dart.ast.utilities_test; 5 library analyzer.test.src.dart.ast.utilities_test;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/standard_ast_factory.dart';
8 import 'package:analyzer/dart/ast/token.dart'; 9 import 'package:analyzer/dart/ast/token.dart';
9 import 'package:analyzer/dart/element/element.dart'; 10 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/dart/element/type.dart'; 11 import 'package:analyzer/dart/element/type.dart';
11 import 'package:analyzer/src/dart/ast/utilities.dart'; 12 import 'package:analyzer/src/dart/ast/utilities.dart';
12 import 'package:analyzer/src/dart/element/element.dart'; 13 import 'package:analyzer/src/dart/element/element.dart';
13 import 'package:analyzer/src/generated/java_core.dart'; 14 import 'package:analyzer/src/generated/java_core.dart';
14 import 'package:analyzer/src/generated/java_engine.dart' show Predicate; 15 import 'package:analyzer/src/generated/java_engine.dart' show Predicate;
15 import 'package:analyzer/src/generated/java_engine.dart'; 16 import 'package:analyzer/src/generated/java_engine.dart';
16 import 'package:analyzer/src/generated/testing/ast_test_factory.dart'; 17 import 'package:analyzer/src/generated/testing/ast_test_factory.dart';
17 import 'package:analyzer/src/generated/testing/element_factory.dart'; 18 import 'package:analyzer/src/generated/testing/element_factory.dart';
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 expect(node.offset <= start, isTrue, reason: "Node starts after range"); 431 expect(node.offset <= start, isTrue, reason: "Node starts after range");
431 expect(node.offset + node.length > end, isTrue, 432 expect(node.offset + node.length > end, isTrue,
432 reason: "Node ends before range"); 433 reason: "Node ends before range");
433 EngineTestCase.assertInstanceOf(predicate, expectedClass, node); 434 EngineTestCase.assertInstanceOf(predicate, expectedClass, node);
434 } 435 }
435 } 436 }
436 437
437 @reflectiveTest 438 @reflectiveTest
438 class ResolutionCopierTest extends EngineTestCase { 439 class ResolutionCopierTest extends EngineTestCase {
439 void test_visitAdjacentStrings() { 440 void test_visitAdjacentStrings() {
440 AdjacentStrings createNode() => new AdjacentStrings([ 441 AdjacentStrings createNode() => astFactory.adjacentStrings([
441 new SimpleStringLiteral(null, 'hello'), 442 astFactory.simpleStringLiteral(null, 'hello'),
442 new SimpleStringLiteral(null, 'world') 443 astFactory.simpleStringLiteral(null, 'world')
443 ]); 444 ]);
444 445
445 AdjacentStrings fromNode = createNode(); 446 AdjacentStrings fromNode = createNode();
446 DartType propagatedType = ElementFactory.classElement2("A").type; 447 DartType propagatedType = ElementFactory.classElement2("A").type;
447 fromNode.propagatedType = propagatedType; 448 fromNode.propagatedType = propagatedType;
448 DartType staticType = ElementFactory.classElement2("B").type; 449 DartType staticType = ElementFactory.classElement2("B").type;
449 fromNode.staticType = staticType; 450 fromNode.staticType = staticType;
450 451
451 AdjacentStrings toNode = createNode(); 452 AdjacentStrings toNode = createNode();
452 ResolutionCopier.copyResolutionData(fromNode, toNode); 453 ResolutionCopier.copyResolutionData(fromNode, toNode);
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after
1548 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), 1549 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]),
1549 null); 1550 null);
1550 declaration.metadata.add( 1551 declaration.metadata.add(
1551 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); 1552 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated")));
1552 _assertSource("@deprecated class C = S with M1;", declaration); 1553 _assertSource("@deprecated class C = S with M1;", declaration);
1553 } 1554 }
1554 1555
1555 void test_visitComment() { 1556 void test_visitComment() {
1556 _assertSource( 1557 _assertSource(
1557 "", 1558 "",
1558 Comment.createBlockComment( 1559 astFactory.blockComment(
1559 <Token>[TokenFactory.tokenFromString("/* comment */")])); 1560 <Token>[TokenFactory.tokenFromString("/* comment */")]));
1560 } 1561 }
1561 1562
1562 void test_visitCommentReference() { 1563 void test_visitCommentReference() {
1563 _assertSource( 1564 _assertSource(
1564 "", new CommentReference(null, AstTestFactory.identifier3("a"))); 1565 "", astFactory.commentReference(null, AstTestFactory.identifier3("a")));
1565 } 1566 }
1566 1567
1567 void test_visitCompilationUnit_declaration() { 1568 void test_visitCompilationUnit_declaration() {
1568 _assertSource( 1569 _assertSource(
1569 "var a;", 1570 "var a;",
1570 AstTestFactory.compilationUnit2([ 1571 AstTestFactory.compilationUnit2([
1571 AstTestFactory.topLevelVariableDeclaration2( 1572 AstTestFactory.topLevelVariableDeclaration2(
1572 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) 1573 Keyword.VAR, [AstTestFactory.variableDeclaration("a")])
1573 ])); 1574 ]));
1574 } 1575 }
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
1940 null, 1941 null,
1941 AstTestFactory.typeName4("A"), 1942 AstTestFactory.typeName4("A"),
1942 "a", 1943 "a",
1943 AstTestFactory.formalParameterList( 1944 AstTestFactory.formalParameterList(
1944 [AstTestFactory.simpleFormalParameter3("b")]))); 1945 [AstTestFactory.simpleFormalParameter3("b")])));
1945 } 1946 }
1946 1947
1947 void test_visitFieldFormalParameter_functionTyped_typeParameters() { 1948 void test_visitFieldFormalParameter_functionTyped_typeParameters() {
1948 _assertSource( 1949 _assertSource(
1949 "A this.a<E, F>(b)", 1950 "A this.a<E, F>(b)",
1950 new FieldFormalParameter( 1951 astFactory.fieldFormalParameter(
1951 null, 1952 null,
1952 null, 1953 null,
1953 null, 1954 null,
1954 AstTestFactory.typeName4('A'), 1955 AstTestFactory.typeName4('A'),
1955 TokenFactory.tokenFromKeyword(Keyword.THIS), 1956 TokenFactory.tokenFromKeyword(Keyword.THIS),
1956 TokenFactory.tokenFromType(TokenType.PERIOD), 1957 TokenFactory.tokenFromType(TokenType.PERIOD),
1957 AstTestFactory.identifier3('a'), 1958 AstTestFactory.identifier3('a'),
1958 AstTestFactory.typeParameterList(['E', 'F']), 1959 AstTestFactory.typeParameterList(['E', 'F']),
1959 AstTestFactory.formalParameterList( 1960 AstTestFactory.formalParameterList(
1960 [AstTestFactory.simpleFormalParameter3("b")]))); 1961 [AstTestFactory.simpleFormalParameter3("b")])));
(...skipping 21 matching lines...) Expand all
1982 void test_visitForEachStatement_declared() { 1983 void test_visitForEachStatement_declared() {
1983 _assertSource( 1984 _assertSource(
1984 "for (var a in b) {}", 1985 "for (var a in b) {}",
1985 AstTestFactory.forEachStatement(AstTestFactory.declaredIdentifier3("a"), 1986 AstTestFactory.forEachStatement(AstTestFactory.declaredIdentifier3("a"),
1986 AstTestFactory.identifier3("b"), AstTestFactory.block())); 1987 AstTestFactory.identifier3("b"), AstTestFactory.block()));
1987 } 1988 }
1988 1989
1989 void test_visitForEachStatement_variable() { 1990 void test_visitForEachStatement_variable() {
1990 _assertSource( 1991 _assertSource(
1991 "for (a in b) {}", 1992 "for (a in b) {}",
1992 new ForEachStatement.withReference( 1993 astFactory.forEachStatementWithReference(
1993 null, 1994 null,
1994 TokenFactory.tokenFromKeyword(Keyword.FOR), 1995 TokenFactory.tokenFromKeyword(Keyword.FOR),
1995 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), 1996 TokenFactory.tokenFromType(TokenType.OPEN_PAREN),
1996 AstTestFactory.identifier3("a"), 1997 AstTestFactory.identifier3("a"),
1997 TokenFactory.tokenFromKeyword(Keyword.IN), 1998 TokenFactory.tokenFromKeyword(Keyword.IN),
1998 AstTestFactory.identifier3("b"), 1999 AstTestFactory.identifier3("b"),
1999 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), 2000 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN),
2000 AstTestFactory.block())); 2001 AstTestFactory.block()));
2001 } 2002 }
2002 2003
2003 void test_visitForEachStatement_variable_await() { 2004 void test_visitForEachStatement_variable_await() {
2004 _assertSource( 2005 _assertSource(
2005 "await for (a in b) {}", 2006 "await for (a in b) {}",
2006 new ForEachStatement.withReference( 2007 astFactory.forEachStatementWithReference(
2007 TokenFactory.tokenFromString("await"), 2008 TokenFactory.tokenFromString("await"),
2008 TokenFactory.tokenFromKeyword(Keyword.FOR), 2009 TokenFactory.tokenFromKeyword(Keyword.FOR),
2009 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), 2010 TokenFactory.tokenFromType(TokenType.OPEN_PAREN),
2010 AstTestFactory.identifier3("a"), 2011 AstTestFactory.identifier3("a"),
2011 TokenFactory.tokenFromKeyword(Keyword.IN), 2012 TokenFactory.tokenFromKeyword(Keyword.IN),
2012 AstTestFactory.identifier3("b"), 2013 AstTestFactory.identifier3("b"),
2013 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), 2014 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN),
2014 AstTestFactory.block())); 2015 AstTestFactory.block()));
2015 } 2016 }
2016 2017
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
2298 _assertSource( 2299 _assertSource(
2299 "get f() {}", 2300 "get f() {}",
2300 AstTestFactory.functionDeclaration( 2301 AstTestFactory.functionDeclaration(
2301 null, Keyword.GET, "f", AstTestFactory.functionExpression())); 2302 null, Keyword.GET, "f", AstTestFactory.functionExpression()));
2302 } 2303 }
2303 2304
2304 void test_visitFunctionDeclaration_local_blockBody() { 2305 void test_visitFunctionDeclaration_local_blockBody() {
2305 FunctionDeclaration f = AstTestFactory.functionDeclaration( 2306 FunctionDeclaration f = AstTestFactory.functionDeclaration(
2306 null, null, "f", AstTestFactory.functionExpression()); 2307 null, null, "f", AstTestFactory.functionExpression());
2307 FunctionDeclarationStatement fStatement = 2308 FunctionDeclarationStatement fStatement =
2308 new FunctionDeclarationStatement(f); 2309 astFactory.functionDeclarationStatement(f);
2309 _assertSource( 2310 _assertSource(
2310 "main() {f() {} 42;}", 2311 "main() {f() {} 42;}",
2311 AstTestFactory.functionDeclaration( 2312 AstTestFactory.functionDeclaration(
2312 null, 2313 null,
2313 null, 2314 null,
2314 "main", 2315 "main",
2315 AstTestFactory.functionExpression2( 2316 AstTestFactory.functionExpression2(
2316 AstTestFactory.formalParameterList(), 2317 AstTestFactory.formalParameterList(),
2317 AstTestFactory.blockFunctionBody2([ 2318 AstTestFactory.blockFunctionBody2([
2318 fStatement, 2319 fStatement,
2319 AstTestFactory.expressionStatement(AstTestFactory.integer(42)) 2320 AstTestFactory.expressionStatement(AstTestFactory.integer(42))
2320 ])))); 2321 ]))));
2321 } 2322 }
2322 2323
2323 void test_visitFunctionDeclaration_local_expressionBody() { 2324 void test_visitFunctionDeclaration_local_expressionBody() {
2324 FunctionDeclaration f = AstTestFactory.functionDeclaration( 2325 FunctionDeclaration f = AstTestFactory.functionDeclaration(
2325 null, 2326 null,
2326 null, 2327 null,
2327 "f", 2328 "f",
2328 AstTestFactory.functionExpression2(AstTestFactory.formalParameterList(), 2329 AstTestFactory.functionExpression2(AstTestFactory.formalParameterList(),
2329 AstTestFactory.expressionFunctionBody(AstTestFactory.integer(1)))); 2330 AstTestFactory.expressionFunctionBody(AstTestFactory.integer(1))));
2330 FunctionDeclarationStatement fStatement = 2331 FunctionDeclarationStatement fStatement =
2331 new FunctionDeclarationStatement(f); 2332 astFactory.functionDeclarationStatement(f);
2332 _assertSource( 2333 _assertSource(
2333 "main() {f() => 1; 2;}", 2334 "main() {f() => 1; 2;}",
2334 AstTestFactory.functionDeclaration( 2335 AstTestFactory.functionDeclaration(
2335 null, 2336 null,
2336 null, 2337 null,
2337 "main", 2338 "main",
2338 AstTestFactory.functionExpression2( 2339 AstTestFactory.functionExpression2(
2339 AstTestFactory.formalParameterList(), 2340 AstTestFactory.formalParameterList(),
2340 AstTestFactory.blockFunctionBody2([ 2341 AstTestFactory.blockFunctionBody2([
2341 fStatement, 2342 fStatement,
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
2457 void test_visitFunctionTypedFormalParameter_type() { 2458 void test_visitFunctionTypedFormalParameter_type() {
2458 _assertSource( 2459 _assertSource(
2459 "T f()", 2460 "T f()",
2460 AstTestFactory.functionTypedFormalParameter( 2461 AstTestFactory.functionTypedFormalParameter(
2461 AstTestFactory.typeName4("T"), "f")); 2462 AstTestFactory.typeName4("T"), "f"));
2462 } 2463 }
2463 2464
2464 void test_visitFunctionTypedFormalParameter_typeParameters() { 2465 void test_visitFunctionTypedFormalParameter_typeParameters() {
2465 _assertSource( 2466 _assertSource(
2466 "T f<E>()", 2467 "T f<E>()",
2467 new FunctionTypedFormalParameter( 2468 astFactory.functionTypedFormalParameter(
2468 null, 2469 null,
2469 null, 2470 null,
2470 AstTestFactory.typeName4("T"), 2471 AstTestFactory.typeName4("T"),
2471 AstTestFactory.identifier3('f'), 2472 AstTestFactory.identifier3('f'),
2472 AstTestFactory.typeParameterList(['E']), 2473 AstTestFactory.typeParameterList(['E']),
2473 AstTestFactory.formalParameterList([]))); 2474 AstTestFactory.formalParameterList([])));
2474 } 2475 }
2475 2476
2476 void test_visitIfStatement_withElse() { 2477 void test_visitIfStatement_withElse() {
2477 _assertSource( 2478 _assertSource(
(...skipping 1400 matching lines...) Expand 10 before | Expand all | Expand 10 after
3878 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]), 3879 AstTestFactory.withClause([AstTestFactory.typeName4("M1")]),
3879 null); 3880 null);
3880 declaration.metadata.add( 3881 declaration.metadata.add(
3881 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated"))); 3882 AstTestFactory.annotation(AstTestFactory.identifier3("deprecated")));
3882 _assertSource("@deprecated class C = S with M1;", declaration); 3883 _assertSource("@deprecated class C = S with M1;", declaration);
3883 } 3884 }
3884 3885
3885 void test_visitComment() { 3886 void test_visitComment() {
3886 _assertSource( 3887 _assertSource(
3887 "", 3888 "",
3888 Comment.createBlockComment( 3889 astFactory.blockComment(
3889 <Token>[TokenFactory.tokenFromString("/* comment */")])); 3890 <Token>[TokenFactory.tokenFromString("/* comment */")]));
3890 } 3891 }
3891 3892
3892 void test_visitCommentReference() { 3893 void test_visitCommentReference() {
3893 _assertSource( 3894 _assertSource(
3894 "", new CommentReference(null, AstTestFactory.identifier3("a"))); 3895 "", astFactory.commentReference(null, AstTestFactory.identifier3("a")));
3895 } 3896 }
3896 3897
3897 void test_visitCompilationUnit_declaration() { 3898 void test_visitCompilationUnit_declaration() {
3898 _assertSource( 3899 _assertSource(
3899 "var a;", 3900 "var a;",
3900 AstTestFactory.compilationUnit2([ 3901 AstTestFactory.compilationUnit2([
3901 AstTestFactory.topLevelVariableDeclaration2( 3902 AstTestFactory.topLevelVariableDeclaration2(
3902 Keyword.VAR, [AstTestFactory.variableDeclaration("a")]) 3903 Keyword.VAR, [AstTestFactory.variableDeclaration("a")])
3903 ])); 3904 ]));
3904 } 3905 }
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
4270 null, 4271 null,
4271 AstTestFactory.typeName4("A"), 4272 AstTestFactory.typeName4("A"),
4272 "a", 4273 "a",
4273 AstTestFactory.formalParameterList( 4274 AstTestFactory.formalParameterList(
4274 [AstTestFactory.simpleFormalParameter3("b")]))); 4275 [AstTestFactory.simpleFormalParameter3("b")])));
4275 } 4276 }
4276 4277
4277 void test_visitFieldFormalParameter_functionTyped_typeParameters() { 4278 void test_visitFieldFormalParameter_functionTyped_typeParameters() {
4278 _assertSource( 4279 _assertSource(
4279 "A this.a<E, F>(b)", 4280 "A this.a<E, F>(b)",
4280 new FieldFormalParameter( 4281 astFactory.fieldFormalParameter(
4281 null, 4282 null,
4282 null, 4283 null,
4283 null, 4284 null,
4284 AstTestFactory.typeName4('A'), 4285 AstTestFactory.typeName4('A'),
4285 TokenFactory.tokenFromKeyword(Keyword.THIS), 4286 TokenFactory.tokenFromKeyword(Keyword.THIS),
4286 TokenFactory.tokenFromType(TokenType.PERIOD), 4287 TokenFactory.tokenFromType(TokenType.PERIOD),
4287 AstTestFactory.identifier3('a'), 4288 AstTestFactory.identifier3('a'),
4288 AstTestFactory.typeParameterList(['E', 'F']), 4289 AstTestFactory.typeParameterList(['E', 'F']),
4289 AstTestFactory.formalParameterList( 4290 AstTestFactory.formalParameterList(
4290 [AstTestFactory.simpleFormalParameter3("b")]))); 4291 [AstTestFactory.simpleFormalParameter3("b")])));
(...skipping 21 matching lines...) Expand all
4312 void test_visitForEachStatement_declared() { 4313 void test_visitForEachStatement_declared() {
4313 _assertSource( 4314 _assertSource(
4314 "for (var a in b) {}", 4315 "for (var a in b) {}",
4315 AstTestFactory.forEachStatement(AstTestFactory.declaredIdentifier3("a"), 4316 AstTestFactory.forEachStatement(AstTestFactory.declaredIdentifier3("a"),
4316 AstTestFactory.identifier3("b"), AstTestFactory.block())); 4317 AstTestFactory.identifier3("b"), AstTestFactory.block()));
4317 } 4318 }
4318 4319
4319 void test_visitForEachStatement_variable() { 4320 void test_visitForEachStatement_variable() {
4320 _assertSource( 4321 _assertSource(
4321 "for (a in b) {}", 4322 "for (a in b) {}",
4322 new ForEachStatement.withReference( 4323 astFactory.forEachStatementWithReference(
4323 null, 4324 null,
4324 TokenFactory.tokenFromKeyword(Keyword.FOR), 4325 TokenFactory.tokenFromKeyword(Keyword.FOR),
4325 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), 4326 TokenFactory.tokenFromType(TokenType.OPEN_PAREN),
4326 AstTestFactory.identifier3("a"), 4327 AstTestFactory.identifier3("a"),
4327 TokenFactory.tokenFromKeyword(Keyword.IN), 4328 TokenFactory.tokenFromKeyword(Keyword.IN),
4328 AstTestFactory.identifier3("b"), 4329 AstTestFactory.identifier3("b"),
4329 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), 4330 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN),
4330 AstTestFactory.block())); 4331 AstTestFactory.block()));
4331 } 4332 }
4332 4333
4333 void test_visitForEachStatement_variable_await() { 4334 void test_visitForEachStatement_variable_await() {
4334 _assertSource( 4335 _assertSource(
4335 "await for (a in b) {}", 4336 "await for (a in b) {}",
4336 new ForEachStatement.withReference( 4337 astFactory.forEachStatementWithReference(
4337 TokenFactory.tokenFromString("await"), 4338 TokenFactory.tokenFromString("await"),
4338 TokenFactory.tokenFromKeyword(Keyword.FOR), 4339 TokenFactory.tokenFromKeyword(Keyword.FOR),
4339 TokenFactory.tokenFromType(TokenType.OPEN_PAREN), 4340 TokenFactory.tokenFromType(TokenType.OPEN_PAREN),
4340 AstTestFactory.identifier3("a"), 4341 AstTestFactory.identifier3("a"),
4341 TokenFactory.tokenFromKeyword(Keyword.IN), 4342 TokenFactory.tokenFromKeyword(Keyword.IN),
4342 AstTestFactory.identifier3("b"), 4343 AstTestFactory.identifier3("b"),
4343 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN), 4344 TokenFactory.tokenFromType(TokenType.CLOSE_PAREN),
4344 AstTestFactory.block())); 4345 AstTestFactory.block()));
4345 } 4346 }
4346 4347
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
4628 _assertSource( 4629 _assertSource(
4629 "get f() {}", 4630 "get f() {}",
4630 AstTestFactory.functionDeclaration( 4631 AstTestFactory.functionDeclaration(
4631 null, Keyword.GET, "f", AstTestFactory.functionExpression())); 4632 null, Keyword.GET, "f", AstTestFactory.functionExpression()));
4632 } 4633 }
4633 4634
4634 void test_visitFunctionDeclaration_local_blockBody() { 4635 void test_visitFunctionDeclaration_local_blockBody() {
4635 FunctionDeclaration f = AstTestFactory.functionDeclaration( 4636 FunctionDeclaration f = AstTestFactory.functionDeclaration(
4636 null, null, "f", AstTestFactory.functionExpression()); 4637 null, null, "f", AstTestFactory.functionExpression());
4637 FunctionDeclarationStatement fStatement = 4638 FunctionDeclarationStatement fStatement =
4638 new FunctionDeclarationStatement(f); 4639 astFactory.functionDeclarationStatement(f);
4639 _assertSource( 4640 _assertSource(
4640 "main() {f() {} 42;}", 4641 "main() {f() {} 42;}",
4641 AstTestFactory.functionDeclaration( 4642 AstTestFactory.functionDeclaration(
4642 null, 4643 null,
4643 null, 4644 null,
4644 "main", 4645 "main",
4645 AstTestFactory.functionExpression2( 4646 AstTestFactory.functionExpression2(
4646 AstTestFactory.formalParameterList(), 4647 AstTestFactory.formalParameterList(),
4647 AstTestFactory.blockFunctionBody2([ 4648 AstTestFactory.blockFunctionBody2([
4648 fStatement, 4649 fStatement,
4649 AstTestFactory.expressionStatement(AstTestFactory.integer(42)) 4650 AstTestFactory.expressionStatement(AstTestFactory.integer(42))
4650 ])))); 4651 ]))));
4651 } 4652 }
4652 4653
4653 void test_visitFunctionDeclaration_local_expressionBody() { 4654 void test_visitFunctionDeclaration_local_expressionBody() {
4654 FunctionDeclaration f = AstTestFactory.functionDeclaration( 4655 FunctionDeclaration f = AstTestFactory.functionDeclaration(
4655 null, 4656 null,
4656 null, 4657 null,
4657 "f", 4658 "f",
4658 AstTestFactory.functionExpression2(AstTestFactory.formalParameterList(), 4659 AstTestFactory.functionExpression2(AstTestFactory.formalParameterList(),
4659 AstTestFactory.expressionFunctionBody(AstTestFactory.integer(1)))); 4660 AstTestFactory.expressionFunctionBody(AstTestFactory.integer(1))));
4660 FunctionDeclarationStatement fStatement = 4661 FunctionDeclarationStatement fStatement =
4661 new FunctionDeclarationStatement(f); 4662 astFactory.functionDeclarationStatement(f);
4662 _assertSource( 4663 _assertSource(
4663 "main() {f() => 1; 2;}", 4664 "main() {f() => 1; 2;}",
4664 AstTestFactory.functionDeclaration( 4665 AstTestFactory.functionDeclaration(
4665 null, 4666 null,
4666 null, 4667 null,
4667 "main", 4668 "main",
4668 AstTestFactory.functionExpression2( 4669 AstTestFactory.functionExpression2(
4669 AstTestFactory.formalParameterList(), 4670 AstTestFactory.formalParameterList(),
4670 AstTestFactory.blockFunctionBody2([ 4671 AstTestFactory.blockFunctionBody2([
4671 fStatement, 4672 fStatement,
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
4787 void test_visitFunctionTypedFormalParameter_type() { 4788 void test_visitFunctionTypedFormalParameter_type() {
4788 _assertSource( 4789 _assertSource(
4789 "T f()", 4790 "T f()",
4790 AstTestFactory.functionTypedFormalParameter( 4791 AstTestFactory.functionTypedFormalParameter(
4791 AstTestFactory.typeName4("T"), "f")); 4792 AstTestFactory.typeName4("T"), "f"));
4792 } 4793 }
4793 4794
4794 void test_visitFunctionTypedFormalParameter_typeParameters() { 4795 void test_visitFunctionTypedFormalParameter_typeParameters() {
4795 _assertSource( 4796 _assertSource(
4796 "T f<E>()", 4797 "T f<E>()",
4797 new FunctionTypedFormalParameter( 4798 astFactory.functionTypedFormalParameter(
4798 null, 4799 null,
4799 null, 4800 null,
4800 AstTestFactory.typeName4("T"), 4801 AstTestFactory.typeName4("T"),
4801 AstTestFactory.identifier3('f'), 4802 AstTestFactory.identifier3('f'),
4802 AstTestFactory.typeParameterList(['E']), 4803 AstTestFactory.typeParameterList(['E']),
4803 AstTestFactory.formalParameterList([]))); 4804 AstTestFactory.formalParameterList([])));
4804 } 4805 }
4805 4806
4806 void test_visitIfStatement_withElse() { 4807 void test_visitIfStatement_withElse() {
4807 _assertSource( 4808 _assertSource(
(...skipping 959 matching lines...) Expand 10 before | Expand all | Expand 10 after
5767 /** 5768 /**
5768 * Assert that a `ToSourceVisitor` will produce the [expectedSource] when 5769 * Assert that a `ToSourceVisitor` will produce the [expectedSource] when
5769 * visiting the given [node]. 5770 * visiting the given [node].
5770 */ 5771 */
5771 void _assertSource(String expectedSource, AstNode node) { 5772 void _assertSource(String expectedSource, AstNode node) {
5772 PrintStringWriter writer = new PrintStringWriter(); 5773 PrintStringWriter writer = new PrintStringWriter();
5773 node.accept(new ToSourceVisitor(writer)); 5774 node.accept(new ToSourceVisitor(writer));
5774 expect(writer.toString(), expectedSource); 5775 expect(writer.toString(), expectedSource);
5775 } 5776 }
5776 } 5777 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698