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

Side by Side Diff: pkg/analyzer/lib/src/task/dart.dart

Issue 1177963002: Build LIBRARY_ELEMENT after RESOLVED_UNIT6 for all units in the closure of a library. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months 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 analyzer.src.task.dart; 5 library analyzer.src.task.dart;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import 'dart:math' as math; 8 import 'dart:math' as math;
9 9
10 import 'package:analyzer/src/context/cache.dart'; 10 import 'package:analyzer/src/context/cache.dart';
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 * 245 *
246 * [LIBRARY_ELEMENT4] plus resolved types for every element. 246 * [LIBRARY_ELEMENT4] plus resolved types for every element.
247 * 247 *
248 * The result is only available for [Source]s representing a library. 248 * The result is only available for [Source]s representing a library.
249 */ 249 */
250 final ResultDescriptor<LibraryElement> LIBRARY_ELEMENT5 = 250 final ResultDescriptor<LibraryElement> LIBRARY_ELEMENT5 =
251 new ResultDescriptor<LibraryElement>('LIBRARY_ELEMENT5', null, 251 new ResultDescriptor<LibraryElement>('LIBRARY_ELEMENT5', null,
252 cachingPolicy: ELEMENT_CACHING_POLICY); 252 cachingPolicy: ELEMENT_CACHING_POLICY);
253 253
254 /** 254 /**
255 * The partial [LibraryElement] associated with a library.
256 *
257 * [LIBRARY_ELEMENT5] plus resolved elements and types for all expressions.
258 *
259 * The result is only available for [Source]s representing a library.
260 */
261 final ResultDescriptor<LibraryElement> LIBRARY_ELEMENT6 =
262 new ResultDescriptor<LibraryElement>('LIBRARY_ELEMENT6', null,
263 cachingPolicy: ELEMENT_CACHING_POLICY);
264
265 /**
255 * The flag specifying whether all analysis errors are computed in a specific 266 * The flag specifying whether all analysis errors are computed in a specific
256 * library. 267 * library.
257 * 268 *
258 * The result is only available for [Source]s representing a library. 269 * The result is only available for [Source]s representing a library.
259 */ 270 */
260 final ResultDescriptor<bool> LIBRARY_ERRORS_READY = 271 final ResultDescriptor<bool> LIBRARY_ERRORS_READY =
261 new ResultDescriptor<bool>('LIBRARY_ERRORS_READY', false); 272 new ResultDescriptor<bool>('LIBRARY_ERRORS_READY', false);
262 273
263 /** 274 /**
264 * The analysis errors associated with a compilation unit in a specific library. 275 * The analysis errors associated with a compilation unit in a specific library.
(...skipping 945 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 * Create a [BuildFunctionTypeAliasesTask] based on the given [target] in 1221 * Create a [BuildFunctionTypeAliasesTask] based on the given [target] in
1211 * the given [context]. 1222 * the given [context].
1212 */ 1223 */
1213 static BuildFunctionTypeAliasesTask createTask( 1224 static BuildFunctionTypeAliasesTask createTask(
1214 AnalysisContext context, AnalysisTarget target) { 1225 AnalysisContext context, AnalysisTarget target) {
1215 return new BuildFunctionTypeAliasesTask(context, target); 1226 return new BuildFunctionTypeAliasesTask(context, target);
1216 } 1227 }
1217 } 1228 }
1218 1229
1219 /** 1230 /**
1220 * This task finishes building [LIBRARY_ELEMENT] by forcing building 1231 * This task builds [LIBRARY_ELEMENT6] by forcing building constructors for
1221 * constructors for classes in the defining and part units of a library. 1232 * all the classes of the defining and part units of a library.
1222 */ 1233 */
1223 class BuildLibraryConstructorsTask extends SourceBasedAnalysisTask { 1234 class BuildLibraryConstructorsTask extends SourceBasedAnalysisTask {
1224 /** 1235 /**
1225 * The name of the [LIBRARY_ELEMENT5] input. 1236 * The name of the [LIBRARY_ELEMENT5] input.
1226 */ 1237 */
1227 static const String LIBRARY_INPUT = 'LIBRARY_INPUT'; 1238 static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
1228 1239
1229 /** 1240 /**
1230 * The task descriptor describing this kind of task. 1241 * The task descriptor describing this kind of task.
1231 */ 1242 */
1232 static final TaskDescriptor DESCRIPTOR = new TaskDescriptor( 1243 static final TaskDescriptor DESCRIPTOR = new TaskDescriptor(
1233 'BuildLibraryConstructorsTask', createTask, buildInputs, 1244 'BuildLibraryConstructorsTask', createTask, buildInputs,
1234 <ResultDescriptor>[LIBRARY_ELEMENT]); 1245 <ResultDescriptor>[LIBRARY_ELEMENT6]);
1235 1246
1236 BuildLibraryConstructorsTask( 1247 BuildLibraryConstructorsTask(
1237 InternalAnalysisContext context, AnalysisTarget target) 1248 InternalAnalysisContext context, AnalysisTarget target)
1238 : super(context, target); 1249 : super(context, target);
1239 1250
1240 @override 1251 @override
1241 TaskDescriptor get descriptor => DESCRIPTOR; 1252 TaskDescriptor get descriptor => DESCRIPTOR;
1242 1253
1243 @override 1254 @override
1244 void internalPerform() { 1255 void internalPerform() {
1245 LibraryElement library = getRequiredInput(LIBRARY_INPUT); 1256 LibraryElement library = getRequiredInput(LIBRARY_INPUT);
1246 outputs[LIBRARY_ELEMENT] = library; 1257 outputs[LIBRARY_ELEMENT6] = library;
1247 } 1258 }
1248 1259
1249 /** 1260 /**
1250 * Return a map from the names of the inputs of this kind of task to the task 1261 * Return a map from the names of the inputs of this kind of task to the task
1251 * input descriptors describing those inputs for a task with the 1262 * input descriptors describing those inputs for a task with the
1252 * given [target]. 1263 * given [target].
1253 */ 1264 */
1254 static Map<String, TaskInput> buildInputs(Source libSource) { 1265 static Map<String, TaskInput> buildInputs(Source libSource) {
1255 return <String, TaskInput>{ 1266 return <String, TaskInput>{
1256 LIBRARY_INPUT: LIBRARY_ELEMENT5.of(libSource), 1267 LIBRARY_INPUT: LIBRARY_ELEMENT5.of(libSource),
(...skipping 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
1795 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request) 1806 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request)
1796 }; 1807 };
1797 } else { 1808 } else {
1798 // Should never happen. 1809 // Should never happen.
1799 assert(false); 1810 assert(false);
1800 return <String, TaskInput>{}; 1811 return <String, TaskInput>{};
1801 } 1812 }
1802 } 1813 }
1803 1814
1804 /** 1815 /**
1805 * Create a [ResolveReferencesTask] based on the given [target] in 1816 * Create a [ResolveUnitReferencesTask] based on the given [target] in
1806 * the given [context]. 1817 * the given [context].
1807 */ 1818 */
1808 static ComputeConstantDependenciesTask createTask( 1819 static ComputeConstantDependenciesTask createTask(
1809 AnalysisContext context, AnalysisTarget target) { 1820 AnalysisContext context, AnalysisTarget target) {
1810 return new ComputeConstantDependenciesTask(context, target); 1821 return new ComputeConstantDependenciesTask(context, target);
1811 } 1822 }
1812 } 1823 }
1813 1824
1814 /** 1825 /**
1815 * A task that computes the value of a constant ([CONSTANT_VALUE]) and 1826 * A task that computes the value of a constant ([CONSTANT_VALUE]) and
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
2107 outputs[RESOLVED_UNIT] = unit; 2118 outputs[RESOLVED_UNIT] = unit;
2108 } 2119 }
2109 2120
2110 /** 2121 /**
2111 * Return a map from the names of the inputs of this kind of task to the task 2122 * Return a map from the names of the inputs of this kind of task to the task
2112 * input descriptors describing those inputs for a task with the 2123 * input descriptors describing those inputs for a task with the
2113 * given [target]. 2124 * given [target].
2114 */ 2125 */
2115 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) { 2126 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) {
2116 return <String, TaskInput>{ 2127 return <String, TaskInput>{
2128 'libraryElement': LIBRARY_ELEMENT.of(target.library),
Brian Wilkerson 2015/06/11 13:52:54 In a future CL, we should probably add comments in
2117 UNIT_INPUT: RESOLVED_UNIT6.of(target), 2129 UNIT_INPUT: RESOLVED_UNIT6.of(target),
2118 CONSTANT_VALUES: 2130 CONSTANT_VALUES:
2119 COMPILATION_UNIT_CONSTANTS.of(target).toListOf(CONSTANT_VALUE) 2131 COMPILATION_UNIT_CONSTANTS.of(target).toListOf(CONSTANT_VALUE)
2120 }; 2132 };
2121 } 2133 }
2122 2134
2123 /** 2135 /**
2124 * Create an [EvaluateUnitConstantsTask] based on the given [target] in 2136 * Create an [EvaluateUnitConstantsTask] based on the given [target] in
2125 * the given [context]. 2137 * the given [context].
2126 */ 2138 */
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
2502 outputs[LIBRARY_ERRORS_READY] = true; 2514 outputs[LIBRARY_ERRORS_READY] = true;
2503 } 2515 }
2504 2516
2505 /** 2517 /**
2506 * Return a map from the names of the inputs of this kind of task to the task 2518 * Return a map from the names of the inputs of this kind of task to the task
2507 * input descriptors describing those inputs for a task with the 2519 * input descriptors describing those inputs for a task with the
2508 * given [library]. 2520 * given [library].
2509 */ 2521 */
2510 static Map<String, TaskInput> buildInputs(Source library) { 2522 static Map<String, TaskInput> buildInputs(Source library) {
2511 return <String, TaskInput>{ 2523 return <String, TaskInput>{
2524 'allLibraryElements':
2525 IMPORT_EXPORT_SOURCE_CLOSURE.of(library).toListOf(LIBRARY_ELEMENT),
2512 'allErrors': UNITS.of(library).toListOf(DART_ERRORS) 2526 'allErrors': UNITS.of(library).toListOf(DART_ERRORS)
2513 }; 2527 };
2514 } 2528 }
2515 2529
2516 /** 2530 /**
2517 * Create a [LibraryErrorsReadyTask] based on the given [target] in the given 2531 * Create a [LibraryErrorsReadyTask] based on the given [target] in the given
2518 * [context]. 2532 * [context].
2519 */ 2533 */
2520 static LibraryErrorsReadyTask createTask( 2534 static LibraryErrorsReadyTask createTask(
2521 AnalysisContext context, AnalysisTarget target) { 2535 AnalysisContext context, AnalysisTarget target) {
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
2852 void _addPublicNames(CompilationUnitElement compilationUnit) { 2866 void _addPublicNames(CompilationUnitElement compilationUnit) {
2853 compilationUnit.accessors.forEach(_addIfPublic); 2867 compilationUnit.accessors.forEach(_addIfPublic);
2854 compilationUnit.enums.forEach(_addIfPublic); 2868 compilationUnit.enums.forEach(_addIfPublic);
2855 compilationUnit.functions.forEach(_addIfPublic); 2869 compilationUnit.functions.forEach(_addIfPublic);
2856 compilationUnit.functionTypeAliases.forEach(_addIfPublic); 2870 compilationUnit.functionTypeAliases.forEach(_addIfPublic);
2857 compilationUnit.types.forEach(_addIfPublic); 2871 compilationUnit.types.forEach(_addIfPublic);
2858 } 2872 }
2859 } 2873 }
2860 2874
2861 /** 2875 /**
2876 * A task that finishes resolution by requesting [RESOLVED_UNIT6] for every
2877 * unit in the libraries closure and produces [LIBRARY_ELEMENT].
2878 */
2879 class ResolveLibraryReferencesTask extends SourceBasedAnalysisTask {
2880 /**
2881 * The name of the [LIBRARY_ELEMENT6] input.
2882 */
2883 static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
2884
2885 /**
2886 * The task descriptor describing this kind of task.
2887 */
2888 static final TaskDescriptor DESCRIPTOR = new TaskDescriptor(
2889 'ResolveLibraryReferencesTask', createTask, buildInputs,
2890 <ResultDescriptor>[LIBRARY_ELEMENT]);
2891
2892 ResolveLibraryReferencesTask(
2893 InternalAnalysisContext context, AnalysisTarget target)
2894 : super(context, target);
2895
2896 @override
2897 TaskDescriptor get descriptor => DESCRIPTOR;
2898
2899 @override
2900 void internalPerform() {
2901 LibraryElement library = getRequiredInput(LIBRARY_INPUT);
2902 outputs[LIBRARY_ELEMENT] = library;
2903 }
2904
2905 /**
2906 * Return a map from the names of the inputs of this kind of task to the task
2907 * input descriptors describing those inputs for a task with the
2908 * given [target].
2909 */
2910 static Map<String, TaskInput> buildInputs(Source libSource) {
2911 return <String, TaskInput>{
2912 LIBRARY_INPUT: LIBRARY_ELEMENT6.of(libSource),
2913 'resolvedUnits': IMPORT_EXPORT_SOURCE_CLOSURE
2914 .of(libSource)
2915 .toMapOf(UNITS)
2916 .toFlattenList((Source library, Source unit) =>
2917 RESOLVED_UNIT6.of(new LibrarySpecificUnit(library, unit))),
2918 };
2919 }
2920
2921 /**
2922 * Create a [ResolveLibraryReferencesTask] based on the given [target] in
2923 * the given [context].
2924 */
2925 static ResolveLibraryReferencesTask createTask(
2926 AnalysisContext context, AnalysisTarget target) {
2927 return new ResolveLibraryReferencesTask(context, target);
2928 }
2929 }
2930
2931 /**
2862 * An artifitial task that does nothing except to force type names resolution 2932 * An artifitial task that does nothing except to force type names resolution
2863 * for the defining and part units of a library. 2933 * for the defining and part units of a library.
2864 */ 2934 */
2865 class ResolveLibraryTypeNamesTask extends SourceBasedAnalysisTask { 2935 class ResolveLibraryTypeNamesTask extends SourceBasedAnalysisTask {
2866 /** 2936 /**
2867 * The name of the [LIBRARY_ELEMENT4] input. 2937 * The name of the [LIBRARY_ELEMENT4] input.
2868 */ 2938 */
2869 static const String LIBRARY_INPUT = 'LIBRARY_INPUT'; 2939 static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
2870 2940
2871 /** 2941 /**
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2910 */ 2980 */
2911 static ResolveLibraryTypeNamesTask createTask( 2981 static ResolveLibraryTypeNamesTask createTask(
2912 AnalysisContext context, AnalysisTarget target) { 2982 AnalysisContext context, AnalysisTarget target) {
2913 return new ResolveLibraryTypeNamesTask(context, target); 2983 return new ResolveLibraryTypeNamesTask(context, target);
2914 } 2984 }
2915 } 2985 }
2916 2986
2917 /** 2987 /**
2918 * A task that builds [RESOLVED_UNIT6] for a unit. 2988 * A task that builds [RESOLVED_UNIT6] for a unit.
2919 */ 2989 */
2920 class ResolveReferencesTask extends SourceBasedAnalysisTask { 2990 class ResolveUnitReferencesTask extends SourceBasedAnalysisTask {
2921 /** 2991 /**
2922 * The name of the [LIBRARY_ELEMENT] input. 2992 * The name of the [LIBRARY_ELEMENT6] input.
2923 */ 2993 */
2924 static const String LIBRARY_INPUT = 'LIBRARY_INPUT'; 2994 static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
2925 2995
2926 /** 2996 /**
2927 * The name of the [RESOLVED_UNIT5] input. 2997 * The name of the [RESOLVED_UNIT5] input.
2928 */ 2998 */
2929 static const String UNIT_INPUT = 'UNIT_INPUT'; 2999 static const String UNIT_INPUT = 'UNIT_INPUT';
2930 3000
2931 /** 3001 /**
2932 * The name of the [TYPE_PROVIDER] input. 3002 * The name of the [TYPE_PROVIDER] input.
2933 */ 3003 */
2934 static const String TYPE_PROVIDER_INPUT = 'TYPE_PROVIDER_INPUT'; 3004 static const String TYPE_PROVIDER_INPUT = 'TYPE_PROVIDER_INPUT';
2935 3005
2936 /** 3006 /**
2937 * The task descriptor describing this kind of task. 3007 * The task descriptor describing this kind of task.
2938 */ 3008 */
2939 static final TaskDescriptor DESCRIPTOR = new TaskDescriptor( 3009 static final TaskDescriptor DESCRIPTOR = new TaskDescriptor(
2940 'ResolveReferencesTask', createTask, buildInputs, <ResultDescriptor>[ 3010 'ResolveUnitReferencesTask', createTask, buildInputs, <ResultDescriptor>[
2941 RESOLVE_REFERENCES_ERRORS, 3011 RESOLVE_REFERENCES_ERRORS,
2942 RESOLVED_UNIT6 3012 RESOLVED_UNIT6
2943 ]); 3013 ]);
2944 3014
2945 ResolveReferencesTask(InternalAnalysisContext context, AnalysisTarget target) 3015 ResolveUnitReferencesTask(
3016 InternalAnalysisContext context, AnalysisTarget target)
2946 : super(context, target); 3017 : super(context, target);
2947 3018
2948 @override 3019 @override
2949 TaskDescriptor get descriptor => DESCRIPTOR; 3020 TaskDescriptor get descriptor => DESCRIPTOR;
2950 3021
2951 @override 3022 @override
2952 void internalPerform() { 3023 void internalPerform() {
2953 RecordingErrorListener errorListener = new RecordingErrorListener(); 3024 RecordingErrorListener errorListener = new RecordingErrorListener();
2954 // 3025 //
2955 // Prepare inputs. 3026 // Prepare inputs.
(...skipping 18 matching lines...) Expand all
2974 outputs[RESOLVED_UNIT6] = unit; 3045 outputs[RESOLVED_UNIT6] = unit;
2975 } 3046 }
2976 3047
2977 /** 3048 /**
2978 * Return a map from the names of the inputs of this kind of task to the task 3049 * Return a map from the names of the inputs of this kind of task to the task
2979 * input descriptors describing those inputs for a task with the 3050 * input descriptors describing those inputs for a task with the
2980 * given [target]. 3051 * given [target].
2981 */ 3052 */
2982 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) { 3053 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) {
2983 return <String, TaskInput>{ 3054 return <String, TaskInput>{
2984 LIBRARY_INPUT: LIBRARY_ELEMENT.of(target.library), 3055 LIBRARY_INPUT: LIBRARY_ELEMENT6.of(target.library),
2985 UNIT_INPUT: RESOLVED_UNIT5.of(target), 3056 UNIT_INPUT: RESOLVED_UNIT5.of(target),
2986 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request) 3057 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request)
2987 }; 3058 };
2988 } 3059 }
2989 3060
2990 /** 3061 /**
2991 * Create a [ResolveReferencesTask] based on the given [target] in 3062 * Create a [ResolveUnitReferencesTask] based on the given [target] in
2992 * the given [context]. 3063 * the given [context].
2993 */ 3064 */
2994 static ResolveReferencesTask createTask( 3065 static ResolveUnitReferencesTask createTask(
2995 AnalysisContext context, AnalysisTarget target) { 3066 AnalysisContext context, AnalysisTarget target) {
2996 return new ResolveReferencesTask(context, target); 3067 return new ResolveUnitReferencesTask(context, target);
2997 } 3068 }
2998 } 3069 }
2999 3070
3000 /** 3071 /**
3001 * A task that builds [RESOLVED_UNIT4] for a unit. 3072 * A task that builds [RESOLVED_UNIT4] for a unit.
3002 */ 3073 */
3003 class ResolveUnitTypeNamesTask extends SourceBasedAnalysisTask { 3074 class ResolveUnitTypeNamesTask extends SourceBasedAnalysisTask {
3004 /** 3075 /**
3005 * The name of the input whose value is the defining [LIBRARY_ELEMENT4]. 3076 * The name of the input whose value is the defining [LIBRARY_ELEMENT4].
3006 */ 3077 */
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
3077 AnalysisContext context, AnalysisTarget target) { 3148 AnalysisContext context, AnalysisTarget target) {
3078 return new ResolveUnitTypeNamesTask(context, target); 3149 return new ResolveUnitTypeNamesTask(context, target);
3079 } 3150 }
3080 } 3151 }
3081 3152
3082 /** 3153 /**
3083 * A task that builds [RESOLVED_UNIT5] for a unit. 3154 * A task that builds [RESOLVED_UNIT5] for a unit.
3084 */ 3155 */
3085 class ResolveVariableReferencesTask extends SourceBasedAnalysisTask { 3156 class ResolveVariableReferencesTask extends SourceBasedAnalysisTask {
3086 /** 3157 /**
3087 * The name of the [LIBRARY_ELEMENT] input. 3158 * The name of the [LIBRARY_ELEMENT6] input.
3088 */ 3159 */
3089 static const String LIBRARY_INPUT = 'LIBRARY_INPUT'; 3160 static const String LIBRARY_INPUT = 'LIBRARY_INPUT';
3090 3161
3091 /** 3162 /**
3092 * The name of the [RESOLVED_UNIT4] input. 3163 * The name of the [RESOLVED_UNIT4] input.
3093 */ 3164 */
3094 static const String UNIT_INPUT = 'UNIT_INPUT'; 3165 static const String UNIT_INPUT = 'UNIT_INPUT';
3095 3166
3096 /** 3167 /**
3097 * The name of the [TYPE_PROVIDER] input. 3168 * The name of the [TYPE_PROVIDER] input.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
3139 3210
3140 /** 3211 /**
3141 * Return a map from the names of the inputs of this kind of task to the task 3212 * Return a map from the names of the inputs of this kind of task to the task
3142 * input descriptors describing those inputs for a task with the 3213 * input descriptors describing those inputs for a task with the
3143 * given [target]. 3214 * given [target].
3144 */ 3215 */
3145 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) { 3216 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) {
3146 return <String, TaskInput>{ 3217 return <String, TaskInput>{
3147 'fullyBuiltLibraryElements': IMPORT_EXPORT_SOURCE_CLOSURE 3218 'fullyBuiltLibraryElements': IMPORT_EXPORT_SOURCE_CLOSURE
3148 .of(target.library) 3219 .of(target.library)
3149 .toListOf(LIBRARY_ELEMENT), 3220 .toListOf(LIBRARY_ELEMENT6),
3150 LIBRARY_INPUT: LIBRARY_ELEMENT.of(target.library), 3221 LIBRARY_INPUT: LIBRARY_ELEMENT6.of(target.library),
3151 UNIT_INPUT: RESOLVED_UNIT4.of(target), 3222 UNIT_INPUT: RESOLVED_UNIT4.of(target),
3152 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request) 3223 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request)
3153 }; 3224 };
3154 } 3225 }
3155 3226
3156 /** 3227 /**
3157 * Create a [ResolveVariableReferencesTask] based on the given [target] in 3228 * Create a [ResolveVariableReferencesTask] based on the given [target] in
3158 * the given [context]. 3229 * the given [context].
3159 */ 3230 */
3160 static ResolveVariableReferencesTask createTask( 3231 static ResolveVariableReferencesTask createTask(
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
3325 uriLiteral, [directive.uriContent]); 3396 uriLiteral, [directive.uriContent]);
3326 } 3397 }
3327 3398
3328 /** 3399 /**
3329 * Return a map from the names of the inputs of this kind of task to the task 3400 * Return a map from the names of the inputs of this kind of task to the task
3330 * input descriptors describing those inputs for a task with the 3401 * input descriptors describing those inputs for a task with the
3331 * given [target]. 3402 * given [target].
3332 */ 3403 */
3333 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) { 3404 static Map<String, TaskInput> buildInputs(LibrarySpecificUnit target) {
3334 return <String, TaskInput>{ 3405 return <String, TaskInput>{
3406 'libraryElement': LIBRARY_ELEMENT.of(target.library),
3335 UNIT_INPUT: RESOLVED_UNIT.of(target), 3407 UNIT_INPUT: RESOLVED_UNIT.of(target),
3336 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request) 3408 TYPE_PROVIDER_INPUT: TYPE_PROVIDER.of(AnalysisContextTarget.request)
3337 }; 3409 };
3338 } 3410 }
3339 3411
3340 /** 3412 /**
3341 * Create a [VerifyUnitTask] based on the given [target] in 3413 * Create a [VerifyUnitTask] based on the given [target] in
3342 * the given [context]. 3414 * the given [context].
3343 */ 3415 */
3344 static VerifyUnitTask createTask( 3416 static VerifyUnitTask createTask(
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
3447 @override 3519 @override
3448 bool moveNext() { 3520 bool moveNext() {
3449 if (_newSources.isEmpty) { 3521 if (_newSources.isEmpty) {
3450 return false; 3522 return false;
3451 } 3523 }
3452 currentTarget = _newSources.first; 3524 currentTarget = _newSources.first;
3453 _newSources.remove(currentTarget); 3525 _newSources.remove(currentTarget);
3454 return true; 3526 return true;
3455 } 3527 }
3456 } 3528 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/plugin/engine_plugin.dart ('k') | pkg/analyzer/test/src/task/dart_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698