| OLD | NEW |
| 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.inputs; | 5 library analyzer.src.task.inputs; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 | 8 |
| 9 import 'package:analyzer/task/model.dart'; | 9 import 'package:analyzer/task/model.dart'; |
| 10 | 10 |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 } | 294 } |
| 295 // No more Map values/keys to transform. | 295 // No more Map values/keys to transform. |
| 296 return false; | 296 return false; |
| 297 } | 297 } |
| 298 } | 298 } |
| 299 | 299 |
| 300 /** | 300 /** |
| 301 * An input to an [AnalysisTask] that is computed by mapping the value of | 301 * An input to an [AnalysisTask] that is computed by mapping the value of |
| 302 * another task input to a list of values. | 302 * another task input to a list of values. |
| 303 */ | 303 */ |
| 304 class ObjectToListTaskInput<E> extends TaskInputImpl with ListTaskInputMixin<E> | 304 class ObjectToListTaskInput<E> extends TaskInputImpl<List<E>> with ListTaskInput
Mixin<E> |
| 305 implements ListTaskInput<E> { | 305 implements ListTaskInput<E> { |
| 306 /** | 306 /** |
| 307 * The input used to compute the value to be mapped. | 307 * The input used to compute the value to be mapped. |
| 308 */ | 308 */ |
| 309 final TaskInput baseInput; | 309 final TaskInput baseInput; |
| 310 | 310 |
| 311 /** | 311 /** |
| 312 * The function used to map the value of the base input to the list of values. | 312 * The function used to map the value of the base input to the list of values. |
| 313 */ | 313 */ |
| 314 final Mapper<Object, List<E>> mapper; | 314 final Mapper<Object, List<E>> mapper; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 326 @override | 326 @override |
| 327 ListTaskInput /*<V>*/ toListOf(ResultDescriptor /*<V>*/ valueResult) { | 327 ListTaskInput /*<V>*/ toListOf(ResultDescriptor /*<V>*/ valueResult) { |
| 328 return new ListToListTaskInput<E, dynamic /*V*/ >( | 328 return new ListToListTaskInput<E, dynamic /*V*/ >( |
| 329 this, valueResult.of as dynamic); | 329 this, valueResult.of as dynamic); |
| 330 } | 330 } |
| 331 | 331 |
| 332 @override | 332 @override |
| 333 MapTaskInput<AnalysisTarget, dynamic /*V*/ > toMapOf( | 333 MapTaskInput<AnalysisTarget, dynamic /*V*/ > toMapOf( |
| 334 ResultDescriptor /*<V>*/ valueResult) { | 334 ResultDescriptor /*<V>*/ valueResult) { |
| 335 return new ListToMapTaskInput<AnalysisTarget, dynamic /*V*/ >( | 335 return new ListToMapTaskInput<AnalysisTarget, dynamic /*V*/ >( |
| 336 this, valueResult.of); | 336 this as dynamic, valueResult.of); |
| 337 } | 337 } |
| 338 } | 338 } |
| 339 | 339 |
| 340 /** | 340 /** |
| 341 * A [TaskInputBuilder] used to build an input based on a [SimpleTaskInput]. | 341 * A [TaskInputBuilder] used to build an input based on a [SimpleTaskInput]. |
| 342 */ | 342 */ |
| 343 class ObjectToListTaskInputBuilder<E> implements TaskInputBuilder<List<E>> { | 343 class ObjectToListTaskInputBuilder<E> implements TaskInputBuilder<List<E>> { |
| 344 /** | 344 /** |
| 345 * The input being built. | 345 * The input being built. |
| 346 */ | 346 */ |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 831 return false; | 831 return false; |
| 832 } | 832 } |
| 833 _baseListElement = _baseList[_baseListIndex]; | 833 _baseListElement = _baseList[_baseListIndex]; |
| 834 currentBuilder = input.generateTaskInputs(_baseListElement).createBuilder(); | 834 currentBuilder = input.generateTaskInputs(_baseListElement).createBuilder(); |
| 835 return currentBuilder.moveNext(); | 835 return currentBuilder.moveNext(); |
| 836 } | 836 } |
| 837 | 837 |
| 838 void _addResultElement(B baseElement, E resultElement); | 838 void _addResultElement(B baseElement, E resultElement); |
| 839 void _initResultValue(); | 839 void _initResultValue(); |
| 840 } | 840 } |
| OLD | NEW |