| 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/src/generated/engine.dart'; |    10 import 'package:analyzer/src/generated/engine.dart'; | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|    33    * An array containing the partitions of which this cache is comprised. |    33    * An array containing the partitions of which this cache is comprised. | 
|    34    */ |    34    */ | 
|    35   final List<CachePartition> _partitions; |    35   final List<CachePartition> _partitions; | 
|    36  |    36  | 
|    37   /** |    37   /** | 
|    38    * The [StreamController] reporting [InvalidatedResult]s. |    38    * The [StreamController] reporting [InvalidatedResult]s. | 
|    39    */ |    39    */ | 
|    40   final ReentrantSynchronousStream<InvalidatedResult> onResultInvalidated = |    40   final ReentrantSynchronousStream<InvalidatedResult> onResultInvalidated = | 
|    41       new ReentrantSynchronousStream<InvalidatedResult>(); |    41       new ReentrantSynchronousStream<InvalidatedResult>(); | 
|    42  |    42  | 
|    43   final List< |    43   final List<ReentrantSynchronousStreamSubscription> | 
|    44       ReentrantSynchronousStreamSubscription> onResultInvalidatedPartitionSubscr
      iptions = < |    44       onResultInvalidatedPartitionSubscriptions = | 
|    45       ReentrantSynchronousStreamSubscription>[]; |    45       <ReentrantSynchronousStreamSubscription>[]; | 
|    46  |    46  | 
|    47   /** |    47   /** | 
|    48    * Initialize a newly created cache to have the given [_partitions]. The |    48    * Initialize a newly created cache to have the given [_partitions]. The | 
|    49    * partitions will be searched in the order in which they appear in the array, |    49    * partitions will be searched in the order in which they appear in the array, | 
|    50    * so the most specific partition (usually an [SdkCachePartition]) should be |    50    * so the most specific partition (usually an [SdkCachePartition]) should be | 
|    51    * first and the most general (usually a [UniversalCachePartition]) last. |    51    * first and the most general (usually a [UniversalCachePartition]) last. | 
|    52    */ |    52    */ | 
|    53   AnalysisCache(this._partitions) { |    53   AnalysisCache(this._partitions) { | 
|    54     for (CachePartition partition in _partitions) { |    54     for (CachePartition partition in _partitions) { | 
|    55       ReentrantSynchronousStreamSubscription<InvalidatedResult> subscription = |    55       ReentrantSynchronousStreamSubscription<InvalidatedResult> subscription = | 
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   377     if (data == null) { |   377     if (data == null) { | 
|   378       return CacheState.INVALID; |   378       return CacheState.INVALID; | 
|   379     } |   379     } | 
|   380     return data.state; |   380     return data.state; | 
|   381   } |   381   } | 
|   382  |   382  | 
|   383   /** |   383   /** | 
|   384    * Return the value of the result represented by the given [descriptor], or |   384    * Return the value of the result represented by the given [descriptor], or | 
|   385    * the default value for the result if this entry does not have a valid value. |   385    * the default value for the result if this entry does not have a valid value. | 
|   386    */ |   386    */ | 
|   387   /*<V>*/ dynamic /*V*/ getValue(ResultDescriptor /*<V>*/ descriptor) { |   387   dynamic /*=V*/ getValue /*<V>*/ (ResultDescriptor /*<V>*/ descriptor) { | 
|   388     ResultData data = _resultMap[descriptor]; |   388     ResultData data = _resultMap[descriptor]; | 
|   389     if (data == null) { |   389     if (data == null) { | 
|   390       return descriptor.defaultValue; |   390       return descriptor.defaultValue; | 
|   391     } |   391     } | 
|   392     if (_partition != null) { |   392     if (_partition != null) { | 
|   393       _partition.resultAccessed(target, descriptor); |   393       _partition.resultAccessed(target, descriptor); | 
|   394     } |   394     } | 
|   395     return data.value; |   395     return data.value; | 
|   396   } |   396   } | 
|   397  |   397  | 
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   475         // |   475         // | 
|   476         data.value = descriptor.defaultValue; |   476         data.value = descriptor.defaultValue; | 
|   477       } |   477       } | 
|   478     } |   478     } | 
|   479   } |   479   } | 
|   480  |   480  | 
|   481   /** |   481   /** | 
|   482    * Set the value of the result represented by the given [descriptor] to the |   482    * Set the value of the result represented by the given [descriptor] to the | 
|   483    * given [value]. |   483    * given [value]. | 
|   484    */ |   484    */ | 
|   485   /*<V>*/ void setValue( |   485   void setValue /*<V>*/ (ResultDescriptor /*<V>*/ descriptor, | 
|   486       ResultDescriptor /*<V>*/ descriptor, |   486       dynamic /*=V*/ value, List<TargetedResult> dependedOn) { | 
|   487       dynamic /*V*/ |  | 
|   488       value, |  | 
|   489       List<TargetedResult> dependedOn) { |  | 
|   490 //    { |   487 //    { | 
|   491 //      String valueStr = '$value'; |   488 //      String valueStr = '$value'; | 
|   492 //      if (valueStr.length > 20) { |   489 //      if (valueStr.length > 20) { | 
|   493 //        valueStr = valueStr.substring(0, 20) + '...'; |   490 //        valueStr = valueStr.substring(0, 20) + '...'; | 
|   494 //      } |   491 //      } | 
|   495 //      valueStr = valueStr.replaceAll('\n', '\\n'); |   492 //      valueStr = valueStr.replaceAll('\n', '\\n'); | 
|   496 //      print( |   493 //      print( | 
|   497 //          'setValue $descriptor for $target value=$valueStr $dependedOn=$depen
      dedOn'); |   494 //          'setValue $descriptor for $target value=$valueStr $dependedOn=$depen
      dedOn'); | 
|   498 //    } |   495 //    } | 
|   499     _validateStateChange(descriptor, CacheState.VALID); |   496     _validateStateChange(descriptor, CacheState.VALID); | 
| (...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1255   void resultAccessed(TargetedResult result) {} |  1252   void resultAccessed(TargetedResult result) {} | 
|  1256  |  1253  | 
|  1257   @override |  1254   @override | 
|  1258   List<TargetedResult> resultStored(TargetedResult newResult, newValue) { |  1255   List<TargetedResult> resultStored(TargetedResult newResult, newValue) { | 
|  1259     return TargetedResult.EMPTY_LIST; |  1256     return TargetedResult.EMPTY_LIST; | 
|  1260   } |  1257   } | 
|  1261  |  1258  | 
|  1262   @override |  1259   @override | 
|  1263   void targetRemoved(AnalysisTarget target) {} |  1260   void targetRemoved(AnalysisTarget target) {} | 
|  1264 } |  1261 } | 
| OLD | NEW |