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

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

Issue 1462463004: Remove unused declarations - skip summaries and completion. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « pkg/analyzer/test/generated/engine_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1628 matching lines...) Expand 10 before | Expand all | Expand 10 after
1639 expect(units1, hasLength(2)); 1639 expect(units1, hasLength(2));
1640 expect(units2, hasLength(2)); 1640 expect(units2, hasLength(2));
1641 expect(units3, hasLength(2)); 1641 expect(units3, hasLength(2));
1642 1642
1643 List<CompilationUnitElement> dep0 = results[0][LIBRARY_CYCLE_DEPENDENCIES]; 1643 List<CompilationUnitElement> dep0 = results[0][LIBRARY_CYCLE_DEPENDENCIES];
1644 List<CompilationUnitElement> dep1 = results[1][LIBRARY_CYCLE_DEPENDENCIES]; 1644 List<CompilationUnitElement> dep1 = results[1][LIBRARY_CYCLE_DEPENDENCIES];
1645 List<CompilationUnitElement> dep2 = results[2][LIBRARY_CYCLE_DEPENDENCIES]; 1645 List<CompilationUnitElement> dep2 = results[2][LIBRARY_CYCLE_DEPENDENCIES];
1646 List<CompilationUnitElement> dep3 = results[3][LIBRARY_CYCLE_DEPENDENCIES]; 1646 List<CompilationUnitElement> dep3 = results[3][LIBRARY_CYCLE_DEPENDENCIES];
1647 expect(dep0, hasLength(1)); // dart:core 1647 expect(dep0, hasLength(1)); // dart:core
1648 expect(dep1, hasLength(1)); // dart:core 1648 expect(dep1, hasLength(1)); // dart:core
1649 expect(dep3, hasLength(3)); // dart:core, a.dart, b.dart 1649 expect(dep2, hasLength(3)); // dart:core, a.dart, b.dart
1650 expect(dep3, hasLength(3)); // dart:core, a.dart, b.dart 1650 expect(dep3, hasLength(3)); // dart:core, a.dart, b.dart
1651 } 1651 }
1652 1652
1653 void test_library_double_loop_parts() { 1653 void test_library_double_loop_parts() {
1654 List<Source> sources = newSources({ 1654 List<Source> sources = newSources({
1655 '/a.dart': ''' 1655 '/a.dart': '''
1656 import 'b.dart'; 1656 import 'b.dart';
1657 part 'aa.dart'; 1657 part 'aa.dart';
1658 part 'ab.dart'; 1658 part 'ab.dart';
1659 ''', 1659 ''',
(...skipping 1366 matching lines...) Expand 10 before | Expand all | Expand 10 after
3026 // B.b2 should now be fully resolved and inferred. 3026 // B.b2 should now be fully resolved and inferred.
3027 assertVariableDeclarationTypes( 3027 assertVariableDeclarationTypes(
3028 getFieldInClass(unit1, "B", "b2"), intType, intType); 3028 getFieldInClass(unit1, "B", "b2"), intType, intType);
3029 3029
3030 // A.a2 should now be resolved on the rhs, but not yet inferred. 3030 // A.a2 should now be resolved on the rhs, but not yet inferred.
3031 assertVariableDeclarationTypes( 3031 assertVariableDeclarationTypes(
3032 getFieldInClass(unit0, "A", "a2"), dynamicType, intType); 3032 getFieldInClass(unit0, "A", "a2"), dynamicType, intType);
3033 3033
3034 computeResult( 3034 computeResult(
3035 new LibrarySpecificUnit(sources[2], sources[2]), RESOLVED_UNIT7); 3035 new LibrarySpecificUnit(sources[2], sources[2]), RESOLVED_UNIT7);
3036 CompilationUnit unit2 = outputs[RESOLVED_UNIT7];
3037 3036
3038 // A.a2 should now be fully resolved and inferred. 3037 // A.a2 should now be fully resolved and inferred.
3039 assertVariableDeclarationTypes( 3038 assertVariableDeclarationTypes(
3040 getFieldInClass(unit0, "A", "a2"), intType, intType); 3039 getFieldInClass(unit0, "A", "a2"), intType, intType);
3041 3040
3042 assertVariableDeclarationTypes( 3041 assertVariableDeclarationTypes(
3043 getFieldInClass(unit1, "B", "b2"), intType, intType); 3042 getFieldInClass(unit1, "B", "b2"), intType, intType);
3044 } 3043 }
3045 3044
3046 // Test inference of instance fields across units 3045 // Test inference of instance fields across units
(...skipping 13 matching lines...) Expand all
3060 ''', 3059 ''',
3061 '/main.dart': ''' 3060 '/main.dart': '''
3062 import "a.dart"; 3061 import "a.dart";
3063 3062
3064 test1() { 3063 test1() {
3065 int x = 0; 3064 int x = 0;
3066 x = new A().a2; 3065 x = new A().a2;
3067 } 3066 }
3068 ''' 3067 '''
3069 }); 3068 });
3070 InterfaceType intType = context.typeProvider.intType;
3071 DartType dynamicType = context.typeProvider.dynamicType; 3069 DartType dynamicType = context.typeProvider.dynamicType;
3072 3070
3073 computeResult( 3071 computeResult(
3074 new LibrarySpecificUnit(sources[0], sources[0]), RESOLVED_UNIT7); 3072 new LibrarySpecificUnit(sources[0], sources[0]), RESOLVED_UNIT7);
3075 CompilationUnit unit0 = outputs[RESOLVED_UNIT7]; 3073 CompilationUnit unit0 = outputs[RESOLVED_UNIT7];
3076 3074
3077 // A.a2 should now be resolved on the rhs, but not yet inferred. 3075 // A.a2 should now be resolved on the rhs, but not yet inferred.
3078 assertVariableDeclarationTypes( 3076 assertVariableDeclarationTypes(
3079 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType); 3077 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType);
3080 3078
3081 computeResult( 3079 computeResult(
3082 new LibrarySpecificUnit(sources[2], sources[2]), RESOLVED_UNIT7); 3080 new LibrarySpecificUnit(sources[2], sources[2]), RESOLVED_UNIT7);
3083 CompilationUnit unit2 = outputs[RESOLVED_UNIT7];
3084 3081
3085 // A.a2 should now be fully resolved and inferred. 3082 // A.a2 should now be fully resolved and inferred.
3086 assertVariableDeclarationTypes( 3083 assertVariableDeclarationTypes(
3087 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType); 3084 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType);
3088 } 3085 }
3089 3086
3090 // Test inference of instance fields across units with cycles 3087 // Test inference of instance fields across units with cycles
3091 void test_perform_inference_cross_unit_static_instance() { 3088 void test_perform_inference_cross_unit_static_instance() {
3092 List<Source> sources = newSources({ 3089 List<Source> sources = newSources({
3093 '/a.dart': ''' 3090 '/a.dart': '''
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
3135 assertVariableDeclarationTypes( 3132 assertVariableDeclarationTypes(
3136 getFieldInClass(unit0, "A", "a2"), dynamicType, intType); 3133 getFieldInClass(unit0, "A", "a2"), dynamicType, intType);
3137 3134
3138 assertVariableDeclarationTypes( 3135 assertVariableDeclarationTypes(
3139 getFieldInClass(unit1, "B", "b1"), intType, intType); 3136 getFieldInClass(unit1, "B", "b1"), intType, intType);
3140 assertVariableDeclarationTypes( 3137 assertVariableDeclarationTypes(
3141 getFieldInClass(unit1, "B", "b2"), intType, intType); 3138 getFieldInClass(unit1, "B", "b2"), intType, intType);
3142 3139
3143 computeResult( 3140 computeResult(
3144 new LibrarySpecificUnit(sources[2], sources[2]), RESOLVED_UNIT7); 3141 new LibrarySpecificUnit(sources[2], sources[2]), RESOLVED_UNIT7);
3145 CompilationUnit unit2 = outputs[RESOLVED_UNIT7];
3146 3142
3147 assertVariableDeclarationTypes( 3143 assertVariableDeclarationTypes(
3148 getFieldInClass(unit0, "A", "a1"), intType, intType); 3144 getFieldInClass(unit0, "A", "a1"), intType, intType);
3149 assertVariableDeclarationTypes( 3145 assertVariableDeclarationTypes(
3150 getFieldInClass(unit0, "A", "a2"), intType, intType); 3146 getFieldInClass(unit0, "A", "a2"), intType, intType);
3151 3147
3152 assertVariableDeclarationTypes( 3148 assertVariableDeclarationTypes(
3153 getFieldInClass(unit1, "B", "b1"), intType, intType); 3149 getFieldInClass(unit1, "B", "b1"), intType, intType);
3154 assertVariableDeclarationTypes( 3150 assertVariableDeclarationTypes(
3155 getFieldInClass(unit1, "B", "b2"), intType, intType); 3151 getFieldInClass(unit1, "B", "b2"), intType, intType);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
3187 // A.a2 should now be resolved on the rhs, but not yet inferred. 3183 // A.a2 should now be resolved on the rhs, but not yet inferred.
3188 assertVariableDeclarationTypes( 3184 assertVariableDeclarationTypes(
3189 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType); 3185 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType);
3190 3186
3191 // B.b2 shoud be resolved on the rhs, but not yet inferred. 3187 // B.b2 shoud be resolved on the rhs, but not yet inferred.
3192 assertVariableDeclarationTypes( 3188 assertVariableDeclarationTypes(
3193 getFieldInClass(unit0, "B", "b2"), dynamicType, intType); 3189 getFieldInClass(unit0, "B", "b2"), dynamicType, intType);
3194 3190
3195 computeResult( 3191 computeResult(
3196 new LibrarySpecificUnit(sources[1], sources[1]), RESOLVED_UNIT7); 3192 new LibrarySpecificUnit(sources[1], sources[1]), RESOLVED_UNIT7);
3197 CompilationUnit unit1 = outputs[RESOLVED_UNIT7];
3198 3193
3199 // A.a2 should now be fully resolved and inferred. 3194 // A.a2 should now be fully resolved and inferred.
3200 assertVariableDeclarationTypes( 3195 assertVariableDeclarationTypes(
3201 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType); 3196 getFieldInClass(unit0, "A", "a2"), dynamicType, dynamicType);
3202 3197
3203 // B.b2 should now be fully resolved and inferred. 3198 // B.b2 should now be fully resolved and inferred.
3204 assertVariableDeclarationTypes( 3199 assertVariableDeclarationTypes(
3205 getFieldInClass(unit0, "B", "b2"), intType, intType); 3200 getFieldInClass(unit0, "B", "b2"), intType, intType);
3206 } 3201 }
3207 } 3202 }
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
3671 import 'b.dart'; 3666 import 'b.dart';
3672 var bar = new B(); 3667 var bar = new B();
3673 void foo() { 3668 void foo() {
3674 String x = bar.f.z; 3669 String x = bar.f.z;
3675 } 3670 }
3676 ''' 3671 '''
3677 }); 3672 });
3678 List<dynamic> units = 3673 List<dynamic> units =
3679 computeLibraryResults(sources, RESOLVED_UNIT9).toList(); 3674 computeLibraryResults(sources, RESOLVED_UNIT9).toList();
3680 CompilationUnit unit0 = units[0]; 3675 CompilationUnit unit0 = units[0];
3681 CompilationUnit unit1 = units[1];
3682 CompilationUnit unit2 = units[2]; 3676 CompilationUnit unit2 = units[2];
3683 3677
3684 InterfaceType intType = context.typeProvider.intType; 3678 InterfaceType intType = context.typeProvider.intType;
3685 InterfaceType stringType = context.typeProvider.stringType; 3679 InterfaceType stringType = context.typeProvider.stringType;
3686 3680
3687 assertVariableDeclarationStatementTypes( 3681 assertVariableDeclarationStatementTypes(
3688 getStatementsInTopLevelFunction(unit0, "foo")[0], stringType, intType); 3682 getStatementsInTopLevelFunction(unit0, "foo")[0], stringType, intType);
3689 assertVariableDeclarationStatementTypes( 3683 assertVariableDeclarationStatementTypes(
3690 getStatementsInTopLevelFunction(unit2, "foo")[0], stringType, intType); 3684 getStatementsInTopLevelFunction(unit2, "foo")[0], stringType, intType);
3691 } 3685 }
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
4336 /** 4330 /**
4337 * Fill [errorListener] with [result] errors in the current [task]. 4331 * Fill [errorListener] with [result] errors in the current [task].
4338 */ 4332 */
4339 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) { 4333 void _fillErrorListener(ResultDescriptor<List<AnalysisError>> result) {
4340 List<AnalysisError> errors = task.outputs[result]; 4334 List<AnalysisError> errors = task.outputs[result];
4341 expect(errors, isNotNull, reason: result.name); 4335 expect(errors, isNotNull, reason: result.name);
4342 errorListener = new GatheringErrorListener(); 4336 errorListener = new GatheringErrorListener();
4343 errorListener.addAll(errors); 4337 errorListener.addAll(errors);
4344 } 4338 }
4345 } 4339 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/generated/engine_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698