Skip to content

Commit e94c820

Browse files
committed
Revert "Ensure that a complete library element has constants evaluated (issue 24890)"
Review URL: https://codereview.chromium.org/1480603002 .
1 parent ac122ff commit e94c820

File tree

7 files changed

+13
-123
lines changed

7 files changed

+13
-123
lines changed

pkg/analyzer/lib/src/context/context.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1157,7 +1157,6 @@ class AnalysisContextImpl implements InternalAnalysisContext {
11571157
setValue(LIBRARY_ELEMENT5, library);
11581158
setValue(LIBRARY_ELEMENT6, library);
11591159
setValue(LIBRARY_ELEMENT7, library);
1160-
setValue(LIBRARY_ELEMENT8, library);
11611160
setValue(LINE_INFO, new LineInfo(<int>[0]));
11621161
setValue(PARSE_ERRORS, AnalysisError.NO_ERRORS);
11631162
entry.setState(PARSED_UNIT, CacheState.FLUSHED);

pkg/analyzer/lib/src/generated/incremental_resolver.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -927,7 +927,6 @@ class IncrementalBodyDelta extends Delta {
927927
isByTask(ScanDartTask.DESCRIPTOR) ||
928928
isByTask(ResolveInstanceFieldsInUnitTask.DESCRIPTOR) ||
929929
isByTask(ResolveLibraryReferencesTask.DESCRIPTOR) ||
930-
isByTask(ResolveLibraryTask.DESCRIPTOR) ||
931930
isByTask(ResolveLibraryTypeNamesTask.DESCRIPTOR) ||
932931
isByTask(ResolveUnitTask.DESCRIPTOR) ||
933932
isByTask(ResolveUnitTypeNamesTask.DESCRIPTOR) ||

pkg/analyzer/lib/src/plugin/engine_plugin.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,6 @@ class EnginePlugin implements Plugin {
226226
registerExtension(taskId, ReadyResolvedUnit11Task.DESCRIPTOR);
227227
registerExtension(taskId, ResolveInstanceFieldsInUnitTask.DESCRIPTOR);
228228
registerExtension(taskId, ResolveLibraryReferencesTask.DESCRIPTOR);
229-
registerExtension(taskId, ResolveLibraryTask.DESCRIPTOR);
230229
registerExtension(taskId, ResolveLibraryTypeNamesTask.DESCRIPTOR);
231230
registerExtension(taskId, ResolveUnitTask.DESCRIPTOR);
232231
registerExtension(taskId, ResolveUnitTypeNamesTask.DESCRIPTOR);

pkg/analyzer/lib/src/task/dart.dart

Lines changed: 7 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -307,17 +307,6 @@ final ResultDescriptor<LibraryElement> LIBRARY_ELEMENT7 =
307307
new ResultDescriptor<LibraryElement>('LIBRARY_ELEMENT7', null,
308308
cachingPolicy: ELEMENT_CACHING_POLICY);
309309

310-
/**
311-
* The partial [LibraryElement] associated with a library.
312-
*
313-
* The same as a [LIBRARY_ELEMENT7].
314-
*
315-
* The result is only available for [Source]s representing a library.
316-
*/
317-
final ResultDescriptor<LibraryElement> LIBRARY_ELEMENT8 =
318-
new ResultDescriptor<LibraryElement>('LIBRARY_ELEMENT8', null,
319-
cachingPolicy: ELEMENT_CACHING_POLICY);
320-
321310
/**
322311
* The flag specifying whether all analysis errors are computed in a specific
323312
* library.
@@ -2428,7 +2417,7 @@ class EvaluateUnitConstantsTask extends SourceBasedAnalysisTask {
24282417
static Map<String, TaskInput> buildInputs(AnalysisTarget target) {
24292418
LibrarySpecificUnit unit = target;
24302419
return <String, TaskInput>{
2431-
'libraryElement': LIBRARY_ELEMENT8.of(unit.library),
2420+
'libraryElement': LIBRARY_ELEMENT.of(unit.library),
24322421
UNIT_INPUT: RESOLVED_UNIT10.of(unit),
24332422
CONSTANT_VALUES:
24342423
COMPILATION_UNIT_CONSTANTS.of(unit).toListOf(CONSTANT_VALUE)
@@ -3238,8 +3227,7 @@ class LibraryErrorsReadyTask extends SourceBasedAnalysisTask {
32383227
static Map<String, TaskInput> buildInputs(AnalysisTarget target) {
32393228
Source source = target;
32403229
return <String, TaskInput>{
3241-
'allErrors': UNITS.of(source).toListOf(DART_ERRORS),
3242-
'libraryElement': LIBRARY_ELEMENT.of(source)
3230+
'allErrors': UNITS.of(source).toListOf(DART_ERRORS)
32433231
};
32443232
}
32453233

@@ -4470,11 +4458,11 @@ class ResolveInstanceFieldsInUnitTask extends SourceBasedAnalysisTask {
44704458

44714459
/**
44724460
* A task that finishes resolution by requesting [RESOLVED_UNIT10] for every
4473-
* unit in the libraries closure and produces [LIBRARY_ELEMENT8].
4461+
* unit in the libraries closure and produces [LIBRARY_ELEMENT].
44744462
*/
44754463
class ResolveLibraryReferencesTask extends SourceBasedAnalysisTask {
44764464
/**
4477-
* The name of the [LIBRARY_ELEMENT7] input.
4465+
* The name of the [LIBRARY_ELEMENT5] input.
44784466
*/
44794467
static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
44804468

@@ -4490,7 +4478,7 @@ class ResolveLibraryReferencesTask extends SourceBasedAnalysisTask {
44904478
'ResolveLibraryReferencesTask',
44914479
createTask,
44924480
buildInputs,
4493-
<ResultDescriptor>[LIBRARY_ELEMENT8, REFERENCED_NAMES]);
4481+
<ResultDescriptor>[LIBRARY_ELEMENT, REFERENCED_NAMES]);
44944482

44954483
ResolveLibraryReferencesTask(
44964484
InternalAnalysisContext context, AnalysisTarget target)
@@ -4514,7 +4502,7 @@ class ResolveLibraryReferencesTask extends SourceBasedAnalysisTask {
45144502
//
45154503
// Record outputs.
45164504
//
4517-
outputs[LIBRARY_ELEMENT8] = library;
4505+
outputs[LIBRARY_ELEMENT] = library;
45184506
outputs[REFERENCED_NAMES] = referencedNames;
45194507
}
45204508

@@ -4526,7 +4514,7 @@ class ResolveLibraryReferencesTask extends SourceBasedAnalysisTask {
45264514
static Map<String, TaskInput> buildInputs(AnalysisTarget target) {
45274515
Source source = target;
45284516
return <String, TaskInput>{
4529-
LIBRARY_INPUT: LIBRARY_ELEMENT7.of(source),
4517+
LIBRARY_INPUT: LIBRARY_ELEMENT5.of(source),
45304518
UNITS_INPUT: LIBRARY_SPECIFIC_UNITS.of(source).toListOf(RESOLVED_UNIT10),
45314519
'thisLibraryClosureIsReady': READY_RESOLVED_UNIT10.of(source),
45324520
};
@@ -4542,71 +4530,6 @@ class ResolveLibraryReferencesTask extends SourceBasedAnalysisTask {
45424530
}
45434531
}
45444532

4545-
/**
4546-
* A task that finishes resolution by requesting [RESOLVED_UNIT11] for every
4547-
* unit in the libraries closure and produces [LIBRARY_ELEMENT].
4548-
*/
4549-
class ResolveLibraryTask extends SourceBasedAnalysisTask {
4550-
/**
4551-
* The name of the [LIBRARY_ELEMENT8] input.
4552-
*/
4553-
static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
4554-
4555-
/**
4556-
* The name of the list of [RESOLVED_UNIT11] input.
4557-
*/
4558-
static const String UNITS_INPUT = 'UNITS_INPUT';
4559-
4560-
/**
4561-
* The task descriptor describing this kind of task.
4562-
*/
4563-
static final TaskDescriptor DESCRIPTOR = new TaskDescriptor(
4564-
'ResolveLibraryTask',
4565-
createTask,
4566-
buildInputs,
4567-
<ResultDescriptor>[LIBRARY_ELEMENT]);
4568-
4569-
ResolveLibraryTask(InternalAnalysisContext context, AnalysisTarget target)
4570-
: super(context, target);
4571-
4572-
@override
4573-
TaskDescriptor get descriptor => DESCRIPTOR;
4574-
4575-
@override
4576-
void internalPerform() {
4577-
//
4578-
// Prepare inputs.
4579-
//
4580-
LibraryElement library = getRequiredInput(LIBRARY_INPUT);
4581-
//
4582-
// Record outputs.
4583-
//
4584-
outputs[LIBRARY_ELEMENT] = library;
4585-
}
4586-
4587-
/**
4588-
* Return a map from the names of the inputs of this kind of task to the task
4589-
* input descriptors describing those inputs for a task with the
4590-
* given [target].
4591-
*/
4592-
static Map<String, TaskInput> buildInputs(AnalysisTarget target) {
4593-
Source source = target;
4594-
return <String, TaskInput>{
4595-
LIBRARY_INPUT: LIBRARY_ELEMENT8.of(source),
4596-
'thisLibraryClosureIsReady': READY_RESOLVED_UNIT.of(source),
4597-
};
4598-
}
4599-
4600-
/**
4601-
* Create a [ResolveLibraryTask] based on the given [target] in the given
4602-
* [context].
4603-
*/
4604-
static ResolveLibraryTask createTask(
4605-
AnalysisContext context, AnalysisTarget target) {
4606-
return new ResolveLibraryTask(context, target);
4607-
}
4608-
}
4609-
46104533
/**
46114534
* An artificial task that does nothing except to force type names resolution
46124535
* for the defining and part units of a library.

pkg/analyzer/test/src/context/context_test.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ import 'libB.dart';''';
328328
expect(importedLibraries, hasLength(2));
329329
context.computeErrors(libA);
330330
context.computeErrors(libB);
331+
expect(context.sourcesNeedingProcessing, hasLength(0));
331332
context.setContents(libB, null);
332333
_removeSource(libB);
333334
List<Source> sources = context.sourcesNeedingProcessing;
@@ -397,6 +398,7 @@ import 'libB.dart';''';
397398
context.computeLibraryElement(libA);
398399
context.computeErrors(libA);
399400
context.computeErrors(libB);
401+
expect(context.sourcesNeedingProcessing, hasLength(0));
400402
ChangeSet changeSet = new ChangeSet();
401403
SourceContainer removedContainer =
402404
new _AnalysisContextImplTest_test_applyChanges_removeContainer(libB);
@@ -1962,6 +1964,7 @@ library expectedToFindSemicolon
19621964
addSource('/test.dart', 'main() {}');
19631965
_analyzeAll_assertFinished();
19641966
// verify
1967+
expect(libraryElementUris, contains('dart:core'));
19651968
expect(libraryElementUris, contains('file:///test.dart'));
19661969
expect(parsedUnitUris, contains('dart:core'));
19671970
expect(parsedUnitUris, contains('file:///test.dart'));

pkg/analyzer/test/src/task/dart_test.dart

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ main() {
6363
runReflectiveTests(PropagateVariableTypesInUnitTaskTest);
6464
runReflectiveTests(PropagateVariableTypeTaskTest);
6565
runReflectiveTests(ResolveInstanceFieldsInUnitTaskTest);
66-
runReflectiveTests(ResolveLibraryTaskTest);
6766
runReflectiveTests(ResolveLibraryTypeNamesTaskTest);
6867
runReflectiveTests(ResolveUnitTaskTest);
6968
runReflectiveTests(ResolveUnitTypeNamesTaskTest);
@@ -126,7 +125,6 @@ isInstanceOf isPropagateVariableTypesInUnitTask =
126125
new isInstanceOf<PropagateVariableTypesInUnitTask>();
127126
isInstanceOf isPropagateVariableTypeTask =
128127
new isInstanceOf<PropagateVariableTypeTask>();
129-
isInstanceOf isResolveLibraryTask = new isInstanceOf<ResolveLibraryTask>();
130128
isInstanceOf isResolveLibraryTypeNamesTask =
131129
new isInstanceOf<ResolveLibraryTypeNamesTask>();
132130
isInstanceOf isResolveUnitTask = new isInstanceOf<ResolveUnitTask>();
@@ -3449,32 +3447,6 @@ class ResolveInstanceFieldsInUnitTaskTest extends _AbstractDartTaskTest {
34493447
}
34503448
}
34513449

3452-
@reflectiveTest
3453-
class ResolveLibraryTaskTest extends _AbstractDartTaskTest {
3454-
test_perform() {
3455-
Source sourceLib = newSource(
3456-
'/my_lib.dart',
3457-
'''
3458-
library my_lib;
3459-
const a = new A();
3460-
class A {
3461-
const A();
3462-
}
3463-
@a
3464-
class C {}
3465-
''');
3466-
computeResult(sourceLib, LIBRARY_ELEMENT, matcher: isResolveLibraryTask);
3467-
// validate
3468-
LibraryElement library = outputs[LIBRARY_ELEMENT];
3469-
ClassElement classC = library.getType('C');
3470-
List<ElementAnnotation> metadata = classC.metadata;
3471-
expect(metadata, hasLength(1));
3472-
ElementAnnotation annotation = metadata[0];
3473-
expect(annotation, isNotNull);
3474-
expect((annotation as ElementAnnotationImpl).evaluationResult, isNotNull);
3475-
}
3476-
}
3477-
34783450
@reflectiveTest
34793451
class ResolveLibraryTypeNamesTaskTest extends _AbstractDartTaskTest {
34803452
test_perform() {

pkg/analyzer/tool/task_dependency_graph/tasks.dot

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ digraph G {
101101
LIBRARY_CYCLE_UNITS -> ResolveInstanceFieldsInUnitTask
102102
LIBRARY_CYCLE_UNITS -> ResolveUnitTask
103103
LIBRARY_CYCLE_UNITS [shape=box]
104-
LIBRARY_ELEMENT -> LibraryErrorsReadyTask
104+
LIBRARY_ELEMENT -> EvaluateUnitConstantsTask
105105
LIBRARY_ELEMENT [shape=box]
106106
LIBRARY_ELEMENT1 -> BuildDirectiveElementsTask
107107
LIBRARY_ELEMENT1 -> ResolveVariableReferencesTask
@@ -121,16 +121,13 @@ digraph G {
121121
LIBRARY_ELEMENT5 -> PropagateVariableTypesInLibraryTask
122122
LIBRARY_ELEMENT5 -> ReadyLibraryElement5Task
123123
LIBRARY_ELEMENT5 -> ResolveInstanceFieldsInUnitTask
124+
LIBRARY_ELEMENT5 -> ResolveLibraryReferencesTask
124125
LIBRARY_ELEMENT5 [shape=box]
125126
LIBRARY_ELEMENT6 -> PropagateVariableTypesInLibraryClosureTask
126127
LIBRARY_ELEMENT6 -> ReadyLibraryElement6Task
127128
LIBRARY_ELEMENT6 [shape=box]
128-
LIBRARY_ELEMENT7 -> ResolveLibraryReferencesTask
129129
LIBRARY_ELEMENT7 -> ResolveUnitTask
130130
LIBRARY_ELEMENT7 [shape=box]
131-
LIBRARY_ELEMENT8 -> EvaluateUnitConstantsTask
132-
LIBRARY_ELEMENT8 -> ResolveLibraryTask
133-
LIBRARY_ELEMENT8 [shape=box]
134131
LIBRARY_ERRORS_READY [shape=box]
135132
LIBRARY_SPECIFIC_UNITS -> GenerateHintsTask
136133
LIBRARY_SPECIFIC_UNITS -> PropagateVariableTypesInLibraryTask
@@ -187,7 +184,6 @@ digraph G {
187184
READY_LIBRARY_ELEMENT6 -> ReadyLibraryElement6Task
188185
READY_LIBRARY_ELEMENT6 [shape=box]
189186
READY_RESOLVED_UNIT -> ReadyResolvedUnitTask
190-
READY_RESOLVED_UNIT -> ResolveLibraryTask
191187
READY_RESOLVED_UNIT -> VerifyUnitTask
192188
READY_RESOLVED_UNIT [shape=box]
193189
READY_RESOLVED_UNIT10 -> ReadyResolvedUnit10Task
@@ -253,9 +249,8 @@ digraph G {
253249
ReadyResolvedUnit11Task -> READY_RESOLVED_UNIT11
254250
ReadyResolvedUnitTask -> READY_RESOLVED_UNIT
255251
ResolveInstanceFieldsInUnitTask -> RESOLVED_UNIT8
256-
ResolveLibraryReferencesTask -> LIBRARY_ELEMENT8
252+
ResolveLibraryReferencesTask -> LIBRARY_ELEMENT
257253
ResolveLibraryReferencesTask -> REFERENCED_NAMES
258-
ResolveLibraryTask -> LIBRARY_ELEMENT
259254
ResolveLibraryTypeNamesTask -> LIBRARY_ELEMENT5
260255
ResolveUnitTask -> RESOLVED_UNIT10
261256
ResolveUnitTask -> RESOLVE_UNIT_ERRORS

0 commit comments

Comments
 (0)