| 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.context.cache; | 5 library analyzer.src.context.cache; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analyzer/exception/exception.dart'; | 10 import 'package:analyzer/exception/exception.dart'; |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 } | 189 } |
| 190 return entry.getState(result); | 190 return entry.getState(result); |
| 191 } | 191 } |
| 192 | 192 |
| 193 /** | 193 /** |
| 194 * Return the value of the given [result] for the given [target]. | 194 * Return the value of the given [result] for the given [target]. |
| 195 * | 195 * |
| 196 * It does not update the cache, if the corresponding [CacheEntry] does not | 196 * It does not update the cache, if the corresponding [CacheEntry] does not |
| 197 * exist, then the default value is returned. | 197 * exist, then the default value is returned. |
| 198 */ | 198 */ |
| 199 Object/*=V*/ getValue/*<V>*/( | 199 V getValue<V>(AnalysisTarget target, ResultDescriptor<V> result) { |
| 200 AnalysisTarget target, ResultDescriptor/*<V>*/ result) { | |
| 201 CacheEntry entry = get(target); | 200 CacheEntry entry = get(target); |
| 202 if (entry == null) { | 201 if (entry == null) { |
| 203 return result.defaultValue; | 202 return result.defaultValue; |
| 204 } | 203 } |
| 205 return entry.getValue(result); | 204 return entry.getValue(result); |
| 206 } | 205 } |
| 207 | 206 |
| 208 /** | 207 /** |
| 209 * Return an iterator returning all of the map entries mapping targets to | 208 * Return an iterator returning all of the map entries mapping targets to |
| 210 * cache entries. If the [context] is not `null`, then only entries that are | 209 * cache entries. If the [context] is not `null`, then only entries that are |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 if (data == null) { | 437 if (data == null) { |
| 439 return CacheState.INVALID; | 438 return CacheState.INVALID; |
| 440 } | 439 } |
| 441 return data.state; | 440 return data.state; |
| 442 } | 441 } |
| 443 | 442 |
| 444 /** | 443 /** |
| 445 * Return the value of the result represented by the given [descriptor], or | 444 * Return the value of the result represented by the given [descriptor], or |
| 446 * the default value for the result if this entry does not have a valid value. | 445 * the default value for the result if this entry does not have a valid value. |
| 447 */ | 446 */ |
| 448 dynamic/*=V*/ getValue/*<V>*/(ResultDescriptor/*<V>*/ descriptor) { | 447 V getValue<V>(ResultDescriptor<V> descriptor) { |
| 449 ResultData data = _resultMap[descriptor]; | 448 ResultData data = _resultMap[descriptor]; |
| 450 if (data == null) { | 449 if (data == null) { |
| 451 return descriptor.defaultValue; | 450 return descriptor.defaultValue; |
| 452 } | 451 } |
| 453 if (_partition != null) { | 452 if (_partition != null) { |
| 454 _partition.resultAccessed(target, descriptor); | 453 _partition.resultAccessed(target, descriptor); |
| 455 } | 454 } |
| 456 return data.value as Object/*=V*/; | 455 return data.value as V; |
| 457 } | 456 } |
| 458 | 457 |
| 459 /** | 458 /** |
| 460 * Return `true` if the state of any data value is [CacheState.ERROR]. | 459 * Return `true` if the state of any data value is [CacheState.ERROR]. |
| 461 */ | 460 */ |
| 462 bool hasErrorState() { | 461 bool hasErrorState() { |
| 463 for (ResultData data in _resultMap.values) { | 462 for (ResultData data in _resultMap.values) { |
| 464 if (data.state == CacheState.ERROR) { | 463 if (data.state == CacheState.ERROR) { |
| 465 return true; | 464 return true; |
| 466 } | 465 } |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 541 // | 540 // |
| 542 data.value = descriptor.defaultValue; | 541 data.value = descriptor.defaultValue; |
| 543 } | 542 } |
| 544 } | 543 } |
| 545 } | 544 } |
| 546 | 545 |
| 547 /** | 546 /** |
| 548 * Set the value of the result represented by the given [descriptor] to the | 547 * Set the value of the result represented by the given [descriptor] to the |
| 549 * given [value]. | 548 * given [value]. |
| 550 */ | 549 */ |
| 551 void setValue/*<V>*/(ResultDescriptor/*<V>*/ descriptor, dynamic/*=V*/ value, | 550 void setValue<V>(ResultDescriptor<V> descriptor, V value, |
| 552 List<TargetedResult> dependedOn) { | 551 List<TargetedResult> dependedOn) { |
| 553 // { | 552 // { |
| 554 // String valueStr = '$value'; | 553 // String valueStr = '$value'; |
| 555 // if (valueStr.length > 20) { | 554 // if (valueStr.length > 20) { |
| 556 // valueStr = valueStr.substring(0, 20) + '...'; | 555 // valueStr = valueStr.substring(0, 20) + '...'; |
| 557 // } | 556 // } |
| 558 // valueStr = valueStr.replaceAll('\n', '\\n'); | 557 // valueStr = valueStr.replaceAll('\n', '\\n'); |
| 559 // print( | 558 // print( |
| 560 // 'setValue $descriptor for $target value=$valueStr dependedOn=$depend
edOn'); | 559 // 'setValue $descriptor for $target value=$valueStr dependedOn=$depend
edOn'); |
| 561 // } | 560 // } |
| (...skipping 978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1540 void resultAccessed(TargetedResult result) {} | 1539 void resultAccessed(TargetedResult result) {} |
| 1541 | 1540 |
| 1542 @override | 1541 @override |
| 1543 List<TargetedResult> resultStored(TargetedResult newResult, newValue) { | 1542 List<TargetedResult> resultStored(TargetedResult newResult, newValue) { |
| 1544 return TargetedResult.EMPTY_LIST; | 1543 return TargetedResult.EMPTY_LIST; |
| 1545 } | 1544 } |
| 1546 | 1545 |
| 1547 @override | 1546 @override |
| 1548 void targetRemoved(AnalysisTarget target) {} | 1547 void targetRemoved(AnalysisTarget target) {} |
| 1549 } | 1548 } |
| OLD | NEW |