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 library analyzer.test.generated.resolver_test; | 5 library analyzer.test.generated.resolver_test; |
6 | 6 |
7 import 'dart:collection'; | 7 import 'dart:collection'; |
8 | 8 |
9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
10 import 'package:analyzer/dart/ast/standard_ast_factory.dart'; | |
11 import 'package:analyzer/dart/ast/token.dart'; | 10 import 'package:analyzer/dart/ast/token.dart'; |
12 import 'package:analyzer/dart/ast/visitor.dart'; | 11 import 'package:analyzer/dart/ast/visitor.dart'; |
13 import 'package:analyzer/dart/element/element.dart'; | 12 import 'package:analyzer/dart/element/element.dart'; |
14 import 'package:analyzer/dart/element/type.dart'; | 13 import 'package:analyzer/dart/element/type.dart'; |
15 import 'package:analyzer/file_system/memory_file_system.dart'; | 14 import 'package:analyzer/file_system/memory_file_system.dart'; |
16 import 'package:analyzer/src/dart/element/builder.dart'; | 15 import 'package:analyzer/src/dart/element/builder.dart'; |
17 import 'package:analyzer/src/dart/element/element.dart'; | 16 import 'package:analyzer/src/dart/element/element.dart'; |
18 import 'package:analyzer/src/dart/element/type.dart'; | 17 import 'package:analyzer/src/dart/element/type.dart'; |
19 import 'package:analyzer/src/error/codes.dart'; | 18 import 'package:analyzer/src/error/codes.dart'; |
20 import 'package:analyzer/src/generated/engine.dart'; | 19 import 'package:analyzer/src/generated/engine.dart'; |
(...skipping 3435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3456 TypeName typeName = AstTestFactory.typeName(classA); | 3455 TypeName typeName = AstTestFactory.typeName(classA); |
3457 typeName.type = null; | 3456 typeName.type = null; |
3458 _resolveNode(typeName, [classA]); | 3457 _resolveNode(typeName, [classA]); |
3459 expect(typeName.type, same(classA.type)); | 3458 expect(typeName.type, same(classA.type)); |
3460 _listener.assertNoErrors(); | 3459 _listener.assertNoErrors(); |
3461 } | 3460 } |
3462 | 3461 |
3463 void test_visitTypeName_noParameters_noArguments_undefined() { | 3462 void test_visitTypeName_noParameters_noArguments_undefined() { |
3464 SimpleIdentifier id = AstTestFactory.identifier3("unknown") | 3463 SimpleIdentifier id = AstTestFactory.identifier3("unknown") |
3465 ..staticElement = new _StaleElement(); | 3464 ..staticElement = new _StaleElement(); |
3466 TypeName typeName = astFactory.typeName(id, null); | 3465 TypeName typeName = new TypeName(id, null); |
3467 _resolveNode(typeName, []); | 3466 _resolveNode(typeName, []); |
3468 expect(typeName.type, UndefinedTypeImpl.instance); | 3467 expect(typeName.type, UndefinedTypeImpl.instance); |
3469 expect(typeName.name.staticElement, null); | 3468 expect(typeName.name.staticElement, null); |
3470 _listener.assertErrorsWithCodes([StaticWarningCode.UNDEFINED_CLASS]); | 3469 _listener.assertErrorsWithCodes([StaticWarningCode.UNDEFINED_CLASS]); |
3471 } | 3470 } |
3472 | 3471 |
3473 void test_visitTypeName_parameters_arguments() { | 3472 void test_visitTypeName_parameters_arguments() { |
3474 ClassElement classA = ElementFactory.classElement2("A", ["E"]); | 3473 ClassElement classA = ElementFactory.classElement2("A", ["E"]); |
3475 ClassElement classB = ElementFactory.classElement2("B"); | 3474 ClassElement classB = ElementFactory.classElement2("B"); |
3476 TypeName typeName = | 3475 TypeName typeName = |
(...skipping 20 matching lines...) Expand all Loading... |
3497 expect(resultArguments[0], same(DynamicTypeImpl.instance)); | 3496 expect(resultArguments[0], same(DynamicTypeImpl.instance)); |
3498 _listener.assertNoErrors(); | 3497 _listener.assertNoErrors(); |
3499 } | 3498 } |
3500 | 3499 |
3501 void test_visitTypeName_prefixed_noParameters_noArguments_undefined() { | 3500 void test_visitTypeName_prefixed_noParameters_noArguments_undefined() { |
3502 SimpleIdentifier prefix = AstTestFactory.identifier3("unknownPrefix") | 3501 SimpleIdentifier prefix = AstTestFactory.identifier3("unknownPrefix") |
3503 ..staticElement = new _StaleElement(); | 3502 ..staticElement = new _StaleElement(); |
3504 SimpleIdentifier suffix = AstTestFactory.identifier3("unknownSuffix") | 3503 SimpleIdentifier suffix = AstTestFactory.identifier3("unknownSuffix") |
3505 ..staticElement = new _StaleElement(); | 3504 ..staticElement = new _StaleElement(); |
3506 TypeName typeName = | 3505 TypeName typeName = |
3507 astFactory.typeName(AstTestFactory.identifier(prefix, suffix), null); | 3506 new TypeName(AstTestFactory.identifier(prefix, suffix), null); |
3508 _resolveNode(typeName, []); | 3507 _resolveNode(typeName, []); |
3509 expect(typeName.type, UndefinedTypeImpl.instance); | 3508 expect(typeName.type, UndefinedTypeImpl.instance); |
3510 expect(prefix.staticElement, null); | 3509 expect(prefix.staticElement, null); |
3511 expect(suffix.staticElement, null); | 3510 expect(suffix.staticElement, null); |
3512 _listener.assertErrorsWithCodes([StaticWarningCode.UNDEFINED_CLASS]); | 3511 _listener.assertErrorsWithCodes([StaticWarningCode.UNDEFINED_CLASS]); |
3513 } | 3512 } |
3514 | 3513 |
3515 void test_visitTypeName_void() { | 3514 void test_visitTypeName_void() { |
3516 ClassElement classA = ElementFactory.classElement2("A"); | 3515 ClassElement classA = ElementFactory.classElement2("A"); |
3517 TypeName typeName = AstTestFactory.typeName4("void"); | 3516 TypeName typeName = AstTestFactory.typeName4("void"); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3634 */ | 3633 */ |
3635 class _StaleElement extends ElementImpl { | 3634 class _StaleElement extends ElementImpl { |
3636 _StaleElement() : super("_StaleElement", -1); | 3635 _StaleElement() : super("_StaleElement", -1); |
3637 | 3636 |
3638 @override | 3637 @override |
3639 get kind => throw "_StaleElement's kind shouldn't be accessed"; | 3638 get kind => throw "_StaleElement's kind shouldn't be accessed"; |
3640 | 3639 |
3641 @override | 3640 @override |
3642 accept(_) => throw "_StaleElement shouldn't be visited"; | 3641 accept(_) => throw "_StaleElement shouldn't be visited"; |
3643 } | 3642 } |
OLD | NEW |