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

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: 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/resolution_accessors.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 = elementForCompilationUnit(compilationUnit).library;
2624 List<LibraryElement> importedLibraries = library.importedLibraries; 2625 List<LibraryElement> importedLibraries = library.importedLibraries;
2625 assertNamedElements(importedLibraries, ["dart.core", "libB"]); 2626 assertNamedElements(importedLibraries, ["dart.core", "libB"]);
2626 } 2627 }
2627 2628
2628 void test_resolveCompilationUnit_import_relative_cyclic() { 2629 void test_resolveCompilationUnit_import_relative_cyclic() {
2629 Source sourceA = 2630 Source sourceA =
2630 addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}"); 2631 addSource("/libA.dart", "library libA; import 'libB.dart'; class A{}");
2631 addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}"); 2632 addSource("/libB.dart", "library libB; import 'libA.dart'; class B{}");
2632 CompilationUnit compilationUnit = 2633 CompilationUnit compilationUnit =
2633 context.resolveCompilationUnit2(sourceA, sourceA); 2634 context.resolveCompilationUnit2(sourceA, sourceA);
2634 expect(compilationUnit, isNotNull); 2635 expect(compilationUnit, isNotNull);
2635 LibraryElement library = compilationUnit.element.library; 2636 LibraryElement library = elementForCompilationUnit(compilationUnit).library;
2636 List<LibraryElement> importedLibraries = library.importedLibraries; 2637 List<LibraryElement> importedLibraries = library.importedLibraries;
2637 assertNamedElements(importedLibraries, ["dart.core", "libB"]); 2638 assertNamedElements(importedLibraries, ["dart.core", "libB"]);
2638 } 2639 }
2639 2640
2640 void test_resolveCompilationUnit_library() { 2641 void test_resolveCompilationUnit_library() {
2641 Source source = addSource("/lib.dart", "library lib;"); 2642 Source source = addSource("/lib.dart", "library lib;");
2642 LibraryElement library = context.computeLibraryElement(source); 2643 LibraryElement library = context.computeLibraryElement(source);
2643 CompilationUnit compilationUnit = 2644 CompilationUnit compilationUnit =
2644 context.resolveCompilationUnit(source, library); 2645 context.resolveCompilationUnit(source, library);
2645 expect(compilationUnit, isNotNull); 2646 expect(compilationUnit, isNotNull);
(...skipping 1846 matching lines...) Expand 10 before | Expand all | Expand 10 after
4492 r''' 4493 r'''
4493 import 'a.dart'; 4494 import 'a.dart';
4494 main() { 4495 main() {
4495 new A(); 4496 new A();
4496 } 4497 }
4497 '''); 4498 ''');
4498 _performPendingAnalysisTasks(); 4499 _performPendingAnalysisTasks();
4499 expect(context.getErrors(a).errors, hasLength(0)); 4500 expect(context.getErrors(a).errors, hasLength(0));
4500 expect(context.getErrors(b).errors, hasLength(0)); 4501 expect(context.getErrors(b).errors, hasLength(0));
4501 var unitA = context.getResolvedCompilationUnit2(a, a); 4502 var unitA = context.getResolvedCompilationUnit2(a, a);
4502 var unitElementA = unitA.element; 4503 var unitElementA = elementForCompilationUnit(unitA);
4503 var libraryElementA = unitElementA.library; 4504 var libraryElementA = unitElementA.library;
4504 // Update a.dart, no declaration changes. 4505 // Update a.dart, no declaration changes.
4505 context.setContents( 4506 context.setContents(
4506 a, 4507 a,
4507 r''' 4508 r'''
4508 class A { 4509 class A {
4509 A(); 4510 A();
4510 } 4511 }
4511 class B { 4512 class B {
4512 B(); 4513 B();
(...skipping 923 matching lines...) Expand 10 before | Expand all | Expand 10 after
5436 * Initialize the visitor. 5437 * Initialize the visitor.
5437 */ 5438 */
5438 _ElementGatherer(); 5439 _ElementGatherer();
5439 5440
5440 @override 5441 @override
5441 void visitElement(Element element) { 5442 void visitElement(Element element) {
5442 elements[element] = element; 5443 elements[element] = element;
5443 super.visitElement(element); 5444 super.visitElement(element);
5444 } 5445 }
5445 } 5446 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698