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

Side by Side Diff: pkg/analyzer/test/src/context/context_test.dart

Issue 2551023005: Prepare for decoupling analyzer ASTs from element model. (Closed)
Patch Set: Address review comments 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.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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698