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

Side by Side Diff: pkg/analyzer/test/src/task/dart_test.dart

Issue 1486663003: Ensure that a complete library element has constants evaluated (issue 24890) (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 test.src.task.dart_test; 5 library test.src.task.dart_test;
6 6
7 import 'package:analyzer/src/context/cache.dart'; 7 import 'package:analyzer/src/context/cache.dart';
8 import 'package:analyzer/src/generated/ast.dart'; 8 import 'package:analyzer/src/generated/ast.dart';
9 import 'package:analyzer/src/generated/constant.dart'; 9 import 'package:analyzer/src/generated/constant.dart';
10 import 'package:analyzer/src/generated/element.dart'; 10 import 'package:analyzer/src/generated/element.dart';
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 runReflectiveTests(InferInstanceMembersInUnitTaskTest); 56 runReflectiveTests(InferInstanceMembersInUnitTaskTest);
57 runReflectiveTests(InferStaticVariableTypesInUnitTaskTest); 57 runReflectiveTests(InferStaticVariableTypesInUnitTaskTest);
58 runReflectiveTests(InferStaticVariableTypeTaskTest); 58 runReflectiveTests(InferStaticVariableTypeTaskTest);
59 runReflectiveTests(LibraryErrorsReadyTaskTest); 59 runReflectiveTests(LibraryErrorsReadyTaskTest);
60 runReflectiveTests(LibraryUnitErrorsTaskTest); 60 runReflectiveTests(LibraryUnitErrorsTaskTest);
61 runReflectiveTests(ParseDartTaskTest); 61 runReflectiveTests(ParseDartTaskTest);
62 runReflectiveTests(PartiallyResolveUnitReferencesTaskTest); 62 runReflectiveTests(PartiallyResolveUnitReferencesTaskTest);
63 runReflectiveTests(PropagateVariableTypesInUnitTaskTest); 63 runReflectiveTests(PropagateVariableTypesInUnitTaskTest);
64 runReflectiveTests(PropagateVariableTypeTaskTest); 64 runReflectiveTests(PropagateVariableTypeTaskTest);
65 runReflectiveTests(ResolveInstanceFieldsInUnitTaskTest); 65 runReflectiveTests(ResolveInstanceFieldsInUnitTaskTest);
66 runReflectiveTests(ResolveLibraryTaskTest);
66 runReflectiveTests(ResolveLibraryTypeNamesTaskTest); 67 runReflectiveTests(ResolveLibraryTypeNamesTaskTest);
67 runReflectiveTests(ResolveUnitTaskTest); 68 runReflectiveTests(ResolveUnitTaskTest);
68 runReflectiveTests(ResolveUnitTypeNamesTaskTest); 69 runReflectiveTests(ResolveUnitTypeNamesTaskTest);
69 runReflectiveTests(ResolveVariableReferencesTaskTest); 70 runReflectiveTests(ResolveVariableReferencesTaskTest);
70 runReflectiveTests(ScanDartTaskTest); 71 runReflectiveTests(ScanDartTaskTest);
71 runReflectiveTests(StrongModeInferenceTest); 72 runReflectiveTests(StrongModeInferenceTest);
72 runReflectiveTests(StrongModeVerifyUnitTaskTest); 73 runReflectiveTests(StrongModeVerifyUnitTaskTest);
73 runReflectiveTests(VerifyUnitTaskTest); 74 runReflectiveTests(VerifyUnitTaskTest);
74 } 75 }
75 76
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 new isInstanceOf<LibraryErrorsReadyTask>(); 119 new isInstanceOf<LibraryErrorsReadyTask>();
119 isInstanceOf isLibraryUnitErrorsTask = 120 isInstanceOf isLibraryUnitErrorsTask =
120 new isInstanceOf<LibraryUnitErrorsTask>(); 121 new isInstanceOf<LibraryUnitErrorsTask>();
121 isInstanceOf isParseDartTask = new isInstanceOf<ParseDartTask>(); 122 isInstanceOf isParseDartTask = new isInstanceOf<ParseDartTask>();
122 isInstanceOf isPartiallyResolveUnitReferencesTask = 123 isInstanceOf isPartiallyResolveUnitReferencesTask =
123 new isInstanceOf<PartiallyResolveUnitReferencesTask>(); 124 new isInstanceOf<PartiallyResolveUnitReferencesTask>();
124 isInstanceOf isPropagateVariableTypesInUnitTask = 125 isInstanceOf isPropagateVariableTypesInUnitTask =
125 new isInstanceOf<PropagateVariableTypesInUnitTask>(); 126 new isInstanceOf<PropagateVariableTypesInUnitTask>();
126 isInstanceOf isPropagateVariableTypeTask = 127 isInstanceOf isPropagateVariableTypeTask =
127 new isInstanceOf<PropagateVariableTypeTask>(); 128 new isInstanceOf<PropagateVariableTypeTask>();
129 isInstanceOf isResolveLibraryTask = new isInstanceOf<ResolveLibraryTask>();
128 isInstanceOf isResolveLibraryTypeNamesTask = 130 isInstanceOf isResolveLibraryTypeNamesTask =
129 new isInstanceOf<ResolveLibraryTypeNamesTask>(); 131 new isInstanceOf<ResolveLibraryTypeNamesTask>();
130 isInstanceOf isResolveUnitTask = new isInstanceOf<ResolveUnitTask>(); 132 isInstanceOf isResolveUnitTask = new isInstanceOf<ResolveUnitTask>();
131 isInstanceOf isResolveUnitTypeNamesTask = 133 isInstanceOf isResolveUnitTypeNamesTask =
132 new isInstanceOf<ResolveUnitTypeNamesTask>(); 134 new isInstanceOf<ResolveUnitTypeNamesTask>();
133 isInstanceOf isResolveVariableReferencesTask = 135 isInstanceOf isResolveVariableReferencesTask =
134 new isInstanceOf<ResolveVariableReferencesTask>(); 136 new isInstanceOf<ResolveVariableReferencesTask>();
135 isInstanceOf isScanDartTask = new isInstanceOf<ScanDartTask>(); 137 isInstanceOf isScanDartTask = new isInstanceOf<ScanDartTask>();
136 isInstanceOf isStrongModeVerifyUnitTask = 138 isInstanceOf isStrongModeVerifyUnitTask =
137 new isInstanceOf<StrongModeVerifyUnitTask>(); 139 new isInstanceOf<StrongModeVerifyUnitTask>();
(...skipping 3303 matching lines...) Expand 10 before | Expand all | Expand 10 after
3441 assertVariableDeclarationTypes( 3443 assertVariableDeclarationTypes(
3442 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType); 3444 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType);
3443 3445
3444 // B.b2 should now be fully resolved and inferred. 3446 // B.b2 should now be fully resolved and inferred.
3445 assertVariableDeclarationTypes( 3447 assertVariableDeclarationTypes(
3446 getFieldInClass(unit0, "B", "b2"), intType, intType); 3448 getFieldInClass(unit0, "B", "b2"), intType, intType);
3447 } 3449 }
3448 } 3450 }
3449 3451
3450 @reflectiveTest 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
3478 @reflectiveTest
3451 class ResolveLibraryTypeNamesTaskTest extends _AbstractDartTaskTest { 3479 class ResolveLibraryTypeNamesTaskTest extends _AbstractDartTaskTest {
3452 test_perform() { 3480 test_perform() {
3453 Source sourceLib = newSource( 3481 Source sourceLib = newSource(
3454 '/my_lib.dart', 3482 '/my_lib.dart',
3455 ''' 3483 '''
3456 library my_lib; 3484 library my_lib;
3457 part 'my_part.dart'; 3485 part 'my_part.dart';
3458 class A {} 3486 class A {}
3459 class B extends A {} 3487 class B extends A {}
3460 '''); 3488 ''');
(...skipping 1159 matching lines...) Expand 10 before | Expand all | Expand 10 after
4620 /** 4648 /**
4621 * Fill [errorListener] with [result] errors in the current [task]. 4649 * Fill [errorListener] with [result] errors in the current [task].
4622 */ 4650 */
4623 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { 4651 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) {
4624 List<AnalysisError> errors = task.outputs[result]; 4652 List<AnalysisError> errors = task.outputs[result];
4625 expect(errors, isNotNull, reason: result.name); 4653 expect(errors, isNotNull, reason: result.name);
4626 errorListener = new GatheringErrorListener(); 4654 errorListener = new GatheringErrorListener();
4627 errorListener.addAll(errors); 4655 errorListener.addAll(errors);
4628 } 4656 }
4629 } 4657 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698