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.src.context.context_test; | 5 library analyzer.test.src.context.context_test; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:collection'; | 8 import 'dart:collection'; |
9 | 9 |
10 import 'package:analyzer/dart/ast/ast.dart'; | 10 import 'package:analyzer/dart/ast/ast.dart'; |
| 11 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; |
11 import 'package:analyzer/dart/element/element.dart'; | 12 import 'package:analyzer/dart/element/element.dart'; |
12 import 'package:analyzer/dart/element/type.dart'; | 13 import 'package:analyzer/dart/element/type.dart'; |
13 import 'package:analyzer/dart/element/visitor.dart'; | 14 import 'package:analyzer/dart/element/visitor.dart'; |
14 import 'package:analyzer/error/error.dart'; | 15 import 'package:analyzer/error/error.dart'; |
15 import 'package:analyzer/exception/exception.dart'; | 16 import 'package:analyzer/exception/exception.dart'; |
16 import 'package:analyzer/file_system/file_system.dart'; | 17 import 'package:analyzer/file_system/file_system.dart'; |
17 import 'package:analyzer/file_system/memory_file_system.dart'; | 18 import 'package:analyzer/file_system/memory_file_system.dart'; |
18 import 'package:analyzer/source/package_map_resolver.dart'; | 19 import 'package:analyzer/source/package_map_resolver.dart'; |
19 import 'package:analyzer/src/cancelable_future.dart'; | 20 import 'package:analyzer/src/cancelable_future.dart'; |
20 import 'package:analyzer/src/context/cache.dart'; | 21 import 'package:analyzer/src/context/cache.dart'; |
(...skipping 2592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2613 comparer.expectNoDifferences(); | 2614 comparer.expectNoDifferences(); |
2614 } | 2615 } |
2615 | 2616 |
2616 void test_resolveCompilationUnit_import_relative() { | 2617 void test_resolveCompilationUnit_import_relative() { |
2617 Source sourceA = | 2618 Source sourceA = |
2618 addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); | 2619 addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); |
2619 addSource("/libB.dart", "library libB; class B{}"); | 2620 addSource("/libB.dart", "library libB; class B{}"); |
2620 CompilationUnit compilationUnit = | 2621 CompilationUnit compilationUnit = |
2621 context.resolveCompilationUnit2(sourceA, sourceA); | 2622 context.resolveCompilationUnit2(sourceA, sourceA); |
2622 expect(compilationUnit, isNotNull); | 2623 expect(compilationUnit, isNotNull); |
2623 LibraryElement library = compilationUnit.element.library; | 2624 LibraryElement library = |
| 2625 resolutionMap.elementForCompilationUnit(compilationUnit).library; |
2624 List<LibraryElement> importedLibraries = library.importedLibraries; | 2626 List<LibraryElement> importedLibraries = library.importedLibraries; |
2625 assertNamedElements(importedLibraries, ["dart.core", "libB"]); | 2627 assertNamedElements(importedLibraries, ["dart.core", "libB"]); |
2626 } | 2628 } |
2627 | 2629 |
2628 void test_resolveCompilationUnit_import_relative_cyclic() { | 2630 void test_resolveCompilationUnit_import_relative_cyclic() { |
2629 Source sourceA = | 2631 Source sourceA = |
2630 addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); | 2632 addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); |
2631 addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}"); | 2633 addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}"); |
2632 CompilationUnit compilationUnit = | 2634 CompilationUnit compilationUnit = |
2633 context.resolveCompilationUnit2(sourceA, sourceA); | 2635 context.resolveCompilationUnit2(sourceA, sourceA); |
2634 expect(compilationUnit, isNotNull); | 2636 expect(compilationUnit, isNotNull); |
2635 LibraryElement library = compilationUnit.element.library; | 2637 LibraryElement library = |
| 2638 resolutionMap.elementForCompilationUnit(compilationUnit).library; |
2636 List<LibraryElement> importedLibraries = library.importedLibraries; | 2639 List<LibraryElement> importedLibraries = library.importedLibraries; |
2637 assertNamedElements(importedLibraries, ["dart.core", "libB"]); | 2640 assertNamedElements(importedLibraries, ["dart.core", "libB"]); |
2638 } | 2641 } |
2639 | 2642 |
2640 void test_resolveCompilationUnit_library() { | 2643 void test_resolveCompilationUnit_library() { |
2641 Source source = addSource("/lib.dart", "library lib;"); | 2644 Source source = addSource("/lib.dart", "library lib;"); |
2642 LibraryElement library = context.computeLibraryElement(source); | 2645 LibraryElement library = context.computeLibraryElement(source); |
2643 CompilationUnit compilationUnit = | 2646 CompilationUnit compilationUnit = |
2644 context.resolveCompilationUnit(source, library); | 2647 context.resolveCompilationUnit(source, library); |
2645 expect(compilationUnit, isNotNull); | 2648 expect(compilationUnit, isNotNull); |
(...skipping 1846 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4492 r''' | 4495 r''' |
4493 import 'a.dart'; | 4496 import 'a.dart'; |
4494 main() { | 4497 main() { |
4495 new A(); | 4498 new A(); |
4496 } | 4499 } |
4497 '''); | 4500 '''); |
4498 _performPendingAnalysisTasks(); | 4501 _performPendingAnalysisTasks(); |
4499 expect(context.getErrors(a).errors, hasLength(0)); | 4502 expect(context.getErrors(a).errors, hasLength(0)); |
4500 expect(context.getErrors(b).errors, hasLength(0)); | 4503 expect(context.getErrors(b).errors, hasLength(0)); |
4501 var unitA = context.getResolvedCompilationUnit2(a, a); | 4504 var unitA = context.getResolvedCompilationUnit2(a, a); |
4502 var unitElementA = unitA.element; | 4505 var unitElementA = resolutionMap.elementForCompilationUnit(unitA); |
4503 var libraryElementA = unitElementA.library; | 4506 var libraryElementA = unitElementA.library; |
4504 // Update a.dart, no declaration changes. | 4507 // Update a.dart, no declaration changes. |
4505 context.setContents( | 4508 context.setContents( |
4506 a, | 4509 a, |
4507 r''' | 4510 r''' |
4508 class A { | 4511 class A { |
4509 A(); | 4512 A(); |
4510 } | 4513 } |
4511 class B { | 4514 class B { |
4512 B(); | 4515 B(); |
(...skipping 923 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5436 * Initialize the visitor. | 5439 * Initialize the visitor. |
5437 */ | 5440 */ |
5438 _ElementGatherer(); | 5441 _ElementGatherer(); |
5439 | 5442 |
5440 @override | 5443 @override |
5441 void visitElement(Element element) { | 5444 void visitElement(Element element) { |
5442 elements[element] = element; | 5445 elements[element] = element; |
5443 super.visitElement(element); | 5446 super.visitElement(element); |
5444 } | 5447 } |
5445 } | 5448 } |
OLD | NEW |