| 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.model; | 5 library analyzer.src.task.model; |
| 6 | 6 |
| 7 import 'package:analyzer/src/generated/engine.dart' hide AnalysisTask; | 7 import 'package:analyzer/src/generated/engine.dart' hide AnalysisTask; |
| 8 import 'package:analyzer/src/task/inputs.dart'; | 8 import 'package:analyzer/src/task/inputs.dart'; |
| 9 import 'package:analyzer/task/model.dart'; | 9 import 'package:analyzer/task/model.dart'; |
| 10 | 10 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 /** | 22 /** |
| 23 * Initialize a newly created analysis result to have the given [name] and | 23 * Initialize a newly created analysis result to have the given [name] and |
| 24 * [defaultValue]. If a [cachingPolicy] is provided, it will control how long | 24 * [defaultValue]. If a [cachingPolicy] is provided, it will control how long |
| 25 * values associated with this result will remain in the cache. | 25 * values associated with this result will remain in the cache. |
| 26 */ | 26 */ |
| 27 ListResultDescriptorImpl(String name, List<E> defaultValue, | 27 ListResultDescriptorImpl(String name, List<E> defaultValue, |
| 28 {ResultCachingPolicy<List<E>> cachingPolicy: DEFAULT_CACHING_POLICY}) | 28 {ResultCachingPolicy<List<E>> cachingPolicy: DEFAULT_CACHING_POLICY}) |
| 29 : super(name, defaultValue, cachingPolicy: cachingPolicy); | 29 : super(name, defaultValue, cachingPolicy: cachingPolicy); |
| 30 | 30 |
| 31 @override | 31 @override |
| 32 ListTaskInput<E> of(AnalysisTarget target) => | 32 ListTaskInput<E> of(AnalysisTarget target, {bool flushOnAccess: false}) { |
| 33 new ListTaskInputImpl<E>(target, this); | 33 if (flushOnAccess) { |
| 34 throw new StateError('Cannot flush a list of values'); |
| 35 } |
| 36 return new ListTaskInputImpl<E>(target, this); |
| 37 } |
| 34 } | 38 } |
| 35 | 39 |
| 36 /** | 40 /** |
| 37 * A concrete implementation of a [ResultDescriptor]. | 41 * A concrete implementation of a [ResultDescriptor]. |
| 38 */ | 42 */ |
| 39 class ResultDescriptorImpl<V> implements ResultDescriptor<V> { | 43 class ResultDescriptorImpl<V> implements ResultDescriptor<V> { |
| 40 static int _NEXT_HASH = 0; | 44 static int _NEXT_HASH = 0; |
| 41 | 45 |
| 42 @override | 46 @override |
| 43 final hashCode = _NEXT_HASH++; | 47 final hashCode = _NEXT_HASH++; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 64 */ | 68 */ |
| 65 ResultDescriptorImpl(this.name, this.defaultValue, | 69 ResultDescriptorImpl(this.name, this.defaultValue, |
| 66 {this.cachingPolicy: DEFAULT_CACHING_POLICY}); | 70 {this.cachingPolicy: DEFAULT_CACHING_POLICY}); |
| 67 | 71 |
| 68 @override | 72 @override |
| 69 bool operator ==(Object other) { | 73 bool operator ==(Object other) { |
| 70 return other is ResultDescriptorImpl && other.hashCode == hashCode; | 74 return other is ResultDescriptorImpl && other.hashCode == hashCode; |
| 71 } | 75 } |
| 72 | 76 |
| 73 @override | 77 @override |
| 74 TaskInput<V> of(AnalysisTarget target) => | 78 TaskInput<V> of(AnalysisTarget target, {bool flushOnAccess: false}) => |
| 75 new SimpleTaskInput<V>(target, this); | 79 new SimpleTaskInput<V>(target, this, flushOnAccess: flushOnAccess); |
| 76 | 80 |
| 77 @override | 81 @override |
| 78 String toString() => name; | 82 String toString() => name; |
| 79 } | 83 } |
| 80 | 84 |
| 81 /** | 85 /** |
| 82 * A simple [ResultCachingPolicy] implementation that consider all the objects | 86 * A simple [ResultCachingPolicy] implementation that consider all the objects |
| 83 * to be of the size `1`. | 87 * to be of the size `1`. |
| 84 */ | 88 */ |
| 85 class SimpleResultCachingPolicy<T> implements ResultCachingPolicy<T> { | 89 class SimpleResultCachingPolicy<T> implements ResultCachingPolicy<T> { |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 AnalysisTask createTask(AnalysisContext context, AnalysisTarget target, | 138 AnalysisTask createTask(AnalysisContext context, AnalysisTarget target, |
| 135 Map<String, dynamic> inputs) { | 139 Map<String, dynamic> inputs) { |
| 136 AnalysisTask task = buildTask(context, target); | 140 AnalysisTask task = buildTask(context, target); |
| 137 task.inputs = inputs; | 141 task.inputs = inputs; |
| 138 return task; | 142 return task; |
| 139 } | 143 } |
| 140 | 144 |
| 141 @override | 145 @override |
| 142 String toString() => name; | 146 String toString() => name; |
| 143 } | 147 } |
| OLD | NEW |