Index: pkg/analyzer/test/generated/all_the_rest_test.dart |
diff --git a/pkg/analyzer/test/generated/all_the_rest_test.dart b/pkg/analyzer/test/generated/all_the_rest_test.dart |
index 5d064c70c55e503dcbd8989627c1a6620905e202..d56a9255498b0e401ae77f39ded483ac906058d6 100644 |
--- a/pkg/analyzer/test/generated/all_the_rest_test.dart |
+++ b/pkg/analyzer/test/generated/all_the_rest_test.dart |
@@ -33,10 +33,12 @@ import 'package:analyzer/src/generated/testing/html_factory.dart'; |
import 'package:analyzer/src/generated/testing/test_type_provider.dart'; |
import 'package:analyzer/src/generated/utilities_collection.dart'; |
import 'package:analyzer/src/generated/utilities_dart.dart'; |
+import 'package:analyzer/src/task/dart.dart'; |
import 'package:path/src/context.dart'; |
import 'package:unittest/unittest.dart'; |
import '../reflective_tests.dart'; |
+import 'engine_test.dart'; |
import 'parser_test.dart'; |
import 'resolver_test.dart'; |
import 'test_support.dart'; |
@@ -473,11 +475,11 @@ class ConstantEvaluationValidator_ForTest |
implements ConstantEvaluationValidator { |
ConstantValueComputer computer; |
- Element _nodeBeingEvaluated; |
+ ConstantEvaluationTarget _nodeBeingEvaluated; |
@override |
- void beforeComputeValue(Element element) { |
- _nodeBeingEvaluated = element; |
+ void beforeComputeValue(ConstantEvaluationTarget constant) { |
+ _nodeBeingEvaluated = constant; |
} |
@override |
@@ -489,9 +491,9 @@ class ConstantEvaluationValidator_ForTest |
} |
@override |
- void beforeGetEvaluationResult(Element element) { |
+ void beforeGetEvaluationResult(ConstantEvaluationTarget constant) { |
// Make sure we properly recorded the dependency. |
- expect(computer.referenceGraph.containsPath(_nodeBeingEvaluated, element), |
+ expect(computer.referenceGraph.containsPath(_nodeBeingEvaluated, constant), |
isTrue); |
} |
@@ -894,12 +896,15 @@ class ConstantEvaluatorTest extends ResolverTestCase { |
@reflectiveTest |
class ConstantFinderTest extends EngineTestCase { |
AstNode _node; |
- |
TypeProvider _typeProvider; |
+ AnalysisContext _context; |
+ Source _source; |
void setUp() { |
super.setUp(); |
_typeProvider = new TestTypeProvider(); |
+ _context = new TestAnalysisContext(); |
+ _source = new TestSource(); |
} |
/** |
@@ -993,17 +998,21 @@ class ConstantFinderTest extends EngineTestCase { |
} |
List<Annotation> _findAnnotations() { |
- ConstantFinder finder = new ConstantFinder(); |
- _node.accept(finder); |
- List<Annotation> annotations = finder.annotations; |
- expect(annotations, isNotNull); |
- return annotations; |
+ Set<Annotation> annotations = new Set<Annotation>(); |
+ for (ConstantEvaluationTarget target in _findConstants()) { |
+ if (target is ConstantEvaluationTarget_Annotation) { |
+ expect(target.context, same(_context)); |
+ expect(target.source, same(_source)); |
+ annotations.add(target.annotation); |
+ } |
+ } |
+ return new List<Annotation>.from(annotations); |
} |
- Set<Element> _findConstants() { |
- ConstantFinder finder = new ConstantFinder(); |
+ Set<ConstantEvaluationTarget> _findConstants() { |
+ ConstantFinder finder = new ConstantFinder(_context, _source, _source); |
_node.accept(finder); |
- Set<Element> constants = finder.constantsToCompute; |
+ Set<ConstantEvaluationTarget> constants = finder.constantsToCompute; |
expect(constants, isNotNull); |
return constants; |
} |
@@ -1260,7 +1269,7 @@ const int c = b;'''); |
analysisContext.computeErrors(librarySource); |
expect(unit, isNotNull); |
ConstantValueComputer computer = _makeConstantValueComputer(); |
- computer.add(unit); |
+ computer.add(unit, librarySource, librarySource); |
computer.computeValues(); |
NodeList<CompilationUnitMember> members = unit.declarations; |
expect(members, hasLength(3)); |
@@ -1278,7 +1287,7 @@ const int a = 0;'''); |
analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
expect(unit, isNotNull); |
ConstantValueComputer computer = _makeConstantValueComputer(); |
- computer.add(unit); |
+ computer.add(unit, librarySource, librarySource); |
computer.computeValues(); |
NodeList<CompilationUnitMember> members = unit.declarations; |
expect(members, hasLength(2)); |
@@ -1309,8 +1318,8 @@ const int d = c;'''); |
analysisContext.resolveCompilationUnit(partSource, libraryElement); |
expect(partUnit, isNotNull); |
ConstantValueComputer computer = _makeConstantValueComputer(); |
- computer.add(libraryUnit); |
- computer.add(partUnit); |
+ computer.add(libraryUnit, librarySource, librarySource); |
+ computer.add(partUnit, partSource, librarySource); |
computer.computeValues(); |
NodeList<CompilationUnitMember> libraryMembers = libraryUnit.declarations; |
expect(libraryMembers, hasLength(2)); |
@@ -1331,7 +1340,7 @@ const int d = c;'''); |
analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
expect(unit, isNotNull); |
ConstantValueComputer computer = _makeConstantValueComputer(); |
- computer.add(unit); |
+ computer.add(unit, librarySource, librarySource); |
computer.computeValues(); |
NodeList<CompilationUnitMember> members = unit.declarations; |
expect(members, hasLength(1)); |
@@ -1348,7 +1357,7 @@ const E e = E.id0; |
analysisContext.resolveCompilationUnit(librarySource, libraryElement); |
expect(unit, isNotNull); |
ConstantValueComputer computer = _makeConstantValueComputer(); |
- computer.add(unit); |
+ computer.add(unit, librarySource, librarySource); |
computer.computeValues(); |
TopLevelVariableDeclaration declaration = unit.declarations |
.firstWhere((member) => member is TopLevelVariableDeclaration); |
@@ -2164,7 +2173,7 @@ const A a = const A(); |
analysisContext.resolveCompilationUnit(source, element); |
expect(unit, isNotNull); |
ConstantValueComputer computer = _makeConstantValueComputer(); |
- computer.add(unit); |
+ computer.add(unit, source, source); |
computer.computeValues(); |
assertErrors(source, expectedErrorCodes); |
} |
@@ -2342,7 +2351,7 @@ class A { |
ConstantValueComputer _makeConstantValueComputer() { |
ConstantEvaluationValidator_ForTest validator = |
new ConstantEvaluationValidator_ForTest(); |
- validator.computer = new ConstantValueComputer( |
+ validator.computer = new ConstantValueComputer(analysisContext2, |
analysisContext2.typeProvider, analysisContext2.declaredVariables, |
validator); |
return validator.computer; |
@@ -8012,12 +8021,12 @@ class MockDartSdk implements DartSdk { |
@reflectiveTest |
class ReferenceFinderTest extends EngineTestCase { |
- DirectedGraph<Element> _referenceGraph; |
+ DirectedGraph<ConstantEvaluationTarget> _referenceGraph; |
VariableElement _head; |
Element _tail; |
@override |
void setUp() { |
- _referenceGraph = new DirectedGraph<Element>(); |
+ _referenceGraph = new DirectedGraph<ConstantEvaluationTarget>(); |
_head = ElementFactory.topLevelVariableElement2("v1"); |
} |
void test_visitSimpleIdentifier_const() { |
@@ -8043,16 +8052,16 @@ class ReferenceFinderTest extends EngineTestCase { |
_assertNoArcs(); |
} |
void _assertNoArcs() { |
- Set<Element> tails = _referenceGraph.getTails(_head); |
+ Set<ConstantEvaluationTarget> tails = _referenceGraph.getTails(_head); |
expect(tails, hasLength(0)); |
} |
void _assertOneArc(Element tail) { |
- Set<Element> tails = _referenceGraph.getTails(_head); |
+ Set<ConstantEvaluationTarget> tails = _referenceGraph.getTails(_head); |
expect(tails, hasLength(1)); |
expect(tails.first, same(tail)); |
} |
- ReferenceFinder _createReferenceFinder(Element source) => |
- new ReferenceFinder((Element dependency) { |
+ ReferenceFinder _createReferenceFinder(ConstantEvaluationTarget source) => |
+ new ReferenceFinder((ConstantEvaluationTarget dependency) { |
_referenceGraph.addEdge(source, dependency); |
}); |
SuperConstructorInvocation _makeTailSuperConstructorInvocation( |