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

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

Issue 1052053002: Resolve type hierarchies for all units of the library's import closure. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « pkg/analyzer/lib/src/task/inputs.dart ('k') | pkg/analyzer/test/src/task/dart_test.dart » ('j') | 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 analyzer.task.model; 5 library analyzer.task.model;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analyzer/src/generated/engine.dart' hide AnalysisTask; 9 import 'package:analyzer/src/generated/engine.dart' hide AnalysisTask;
10 import 'package:analyzer/src/generated/java_engine.dart'; 10 import 'package:analyzer/src/generated/java_engine.dart';
(...skipping 16 matching lines...) Expand all
27 typedef Map<String, TaskInput> CreateTaskInputs(AnalysisTarget target); 27 typedef Map<String, TaskInput> CreateTaskInputs(AnalysisTarget target);
28 28
29 /** 29 /**
30 * A function that converts an object of the type [B] into a [TaskInput]. 30 * A function that converts an object of the type [B] into a [TaskInput].
31 * This is used, for example, by a [ListTaskInput] to create task inputs 31 * This is used, for example, by a [ListTaskInput] to create task inputs
32 * for each value in a list of values. 32 * for each value in a list of values.
33 */ 33 */
34 typedef TaskInput<E> UnaryFunction<B, E>(B object); 34 typedef TaskInput<E> UnaryFunction<B, E>(B object);
35 35
36 /** 36 /**
37 * TODO
Brian Wilkerson 2015/04/01 22:13:08 Did you intend to leave this TODO?
38 */
39 typedef TaskInput<E> BinaryFunction<K, V, E>(K key, V value);
40
41 /**
37 * An [AnalysisTarget] wrapper for an [AnalysisContext]. 42 * An [AnalysisTarget] wrapper for an [AnalysisContext].
38 */ 43 */
39 class AnalysisContextTarget implements AnalysisTarget { 44 class AnalysisContextTarget implements AnalysisTarget {
40 static final AnalysisContextTarget request = new AnalysisContextTarget(null); 45 static final AnalysisContextTarget request = new AnalysisContextTarget(null);
41 46
42 final AnalysisContext context; 47 final AnalysisContext context;
43 48
44 AnalysisContextTarget(this.context); 49 AnalysisContextTarget(this.context);
45 50
46 @override 51 @override
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 * Return a task input that can be used to compute a list whose elements are 290 * Return a task input that can be used to compute a list whose elements are
286 * [valueResult]'s associated with those elements. 291 * [valueResult]'s associated with those elements.
287 */ 292 */
288 ListTaskInput /*<V>*/ toListOf(ResultDescriptor /*<V>*/ valueResult); 293 ListTaskInput /*<V>*/ toListOf(ResultDescriptor /*<V>*/ valueResult);
289 294
290 /** 295 /**
291 * Return a task input that can be used to compute a map whose keys are the 296 * Return a task input that can be used to compute a map whose keys are the
292 * elements of this input and whose values are the result of passing the 297 * elements of this input and whose values are the result of passing the
293 * corresponding key to the [mapper] function. 298 * corresponding key to the [mapper] function.
294 */ 299 */
295 TaskInput<Map<E, dynamic /*V*/ >> toMap( 300 MapTaskInput<E, dynamic /*V*/ > toMap(
296 UnaryFunction<E, dynamic /*<V>*/ > mapper); 301 UnaryFunction<E, dynamic /*<V>*/ > mapper);
297 302
298 /** 303 /**
299 * Return a task input that can be used to compute a map whose keys are the 304 * Return a task input that can be used to compute a map whose keys are the
300 * elements of this input and whose values are the [valueResult]'s associated 305 * elements of this input and whose values are the [valueResult]'s associated
301 * with those elements. 306 * with those elements.
302 */ 307 */
303 TaskInput<Map<AnalysisTarget, dynamic /*V*/ >> toMapOf( 308 MapTaskInput<AnalysisTarget, dynamic /*V*/ > toMapOf(
304 ResultDescriptor /*<V>*/ valueResult); 309 ResultDescriptor /*<V>*/ valueResult);
305 } 310 }
306 311
307 /** 312 /**
313 * A description of an input with a [Map] based values. TODO
314 *
315 * Clients are not expected to subtype this class.
316 */
317 abstract class MapTaskInput<K, V> extends TaskInput<Map<K, V>> {
318 /**
319 * [V] must be a [List].
320 * Return a task input that can be used to compute a list whose elements are
321 * the result of passing keys [K] and the corresponding elements of [V] to
322 * the [mapper] function.
323 */
324 TaskInput<List /*<E>*/ > toFlattenList(
325 BinaryFunction<K, dynamic /*element of V*/, dynamic /*<E>*/ > mapper);
326 }
327
328 /**
308 * A description of an analysis result that can be computed by an [AnalysisTask] . 329 * A description of an analysis result that can be computed by an [AnalysisTask] .
309 * 330 *
310 * Clients are not expected to subtype this class. 331 * Clients are not expected to subtype this class.
311 */ 332 */
312 abstract class ResultDescriptor<V> { 333 abstract class ResultDescriptor<V> {
313 /** 334 /**
314 * Initialize a newly created analysis result to have the given [name]. If a 335 * Initialize a newly created analysis result to have the given [name]. If a
315 * composite result is specified, then this result will contribute to it. 336 * composite result is specified, then this result will contribute to it.
316 */ 337 */
317 factory ResultDescriptor(String name, V defaultValue, 338 factory ResultDescriptor(String name, V defaultValue,
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 * be computed, or `false` if the inputs have been computed. 456 * be computed, or `false` if the inputs have been computed.
436 * 457 *
437 * It is safe to invoke [moveNext] after it has returned `false`. In this case 458 * It is safe to invoke [moveNext] after it has returned `false`. In this case
438 * [moveNext] has no effect and will again return `false`. 459 * [moveNext] has no effect and will again return `false`.
439 * 460 *
440 * Throws a [StateError] if the value of the current result has not been 461 * Throws a [StateError] if the value of the current result has not been
441 * provided using [currentValue]. 462 * provided using [currentValue].
442 */ 463 */
443 bool moveNext(); 464 bool moveNext();
444 } 465 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/task/inputs.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