Chromium Code Reviews| 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.context; | 5 library analyzer.src.context.context; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analyzer/instrumentation/instrumentation.dart'; | 10 import 'package:analyzer/instrumentation/instrumentation.dart'; |
| (...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 757 } | 757 } |
| 758 | 758 |
| 759 @override | 759 @override |
| 760 CompilationUnitElement getCompilationUnitElement( | 760 CompilationUnitElement getCompilationUnitElement( |
| 761 Source unitSource, Source librarySource) { | 761 Source unitSource, Source librarySource) { |
| 762 AnalysisTarget target = new LibrarySpecificUnit(librarySource, unitSource); | 762 AnalysisTarget target = new LibrarySpecificUnit(librarySource, unitSource); |
| 763 return getResult(target, COMPILATION_UNIT_ELEMENT); | 763 return getResult(target, COMPILATION_UNIT_ELEMENT); |
| 764 } | 764 } |
| 765 | 765 |
| 766 @override | 766 @override |
| 767 Object getConfigurationData(ResultDescriptor key) => _configurationData[key]; | 767 Object getConfigurationData(ResultDescriptor key) => |
| 768 _configurationData[key] ?? key?.defaultValue; | |
| 768 | 769 |
| 769 @override | 770 @override |
| 770 TimestampedData<String> getContents(Source source) { | 771 TimestampedData<String> getContents(Source source) { |
| 771 String contents = _contentCache.getContents(source); | 772 String contents = _contentCache.getContents(source); |
| 772 if (contents != null) { | 773 if (contents != null) { |
| 773 return new TimestampedData<String>( | 774 return new TimestampedData<String>( |
| 774 _contentCache.getModificationStamp(source), contents); | 775 _contentCache.getModificationStamp(source), contents); |
| 775 } | 776 } |
| 776 return source.contents; | 777 return source.contents; |
| 777 } | 778 } |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1016 } | 1017 } |
| 1017 } | 1018 } |
| 1018 if (notify && changed) { | 1019 if (notify && changed) { |
| 1019 _onSourcesChangedController | 1020 _onSourcesChangedController |
| 1020 .add(new SourcesChangedEvent.changedContent(source, newContents)); | 1021 .add(new SourcesChangedEvent.changedContent(source, newContents)); |
| 1021 } | 1022 } |
| 1022 return changed; | 1023 return changed; |
| 1023 } | 1024 } |
| 1024 | 1025 |
| 1025 /** | 1026 /** |
| 1026 * Invalidate analysis cache. | 1027 * Invalidate analysis cache and notify work managers that they have work |
| 1028 * to do. | |
| 1027 */ | 1029 */ |
| 1028 void invalidateCachedResults() { | 1030 void invalidateCachedResults() { |
| 1029 _cache = createCacheFromSourceFactory(_sourceFactory); | 1031 _cache = createCacheFromSourceFactory(_sourceFactory); |
| 1032 for (WorkManager workManager in workManagers) { | |
| 1033 workManager.onAnalysisOptionsChanged(); | |
|
scheglov
2015/10/27 23:41:44
Maybe we should rename this method to reflect the
Brian Wilkerson
2015/10/28 02:09:08
Is that the only time it's used? (I actually prefe
pquitslund
2015/10/28 15:56:44
Maybe `invalidateResults` or something? It's pret
| |
| 1034 } | |
| 1030 } | 1035 } |
| 1031 | 1036 |
| 1032 @override | 1037 @override |
| 1033 void invalidateLibraryHints(Source librarySource) { | 1038 void invalidateLibraryHints(Source librarySource) { |
| 1034 List<Source> sources = getResult(librarySource, UNITS); | 1039 List<Source> sources = getResult(librarySource, UNITS); |
| 1035 if (sources != null) { | 1040 if (sources != null) { |
| 1036 for (Source source in sources) { | 1041 for (Source source in sources) { |
| 1037 getCacheEntry(source).setState(HINTS, CacheState.INVALID); | 1042 getCacheEntry(source).setState(HINTS, CacheState.INVALID); |
| 1038 } | 1043 } |
| 1039 } | 1044 } |
| (...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2128 DartSdk sdk = factory.dartSdk; | 2133 DartSdk sdk = factory.dartSdk; |
| 2129 if (sdk == null) { | 2134 if (sdk == null) { |
| 2130 throw new IllegalArgumentException( | 2135 throw new IllegalArgumentException( |
| 2131 "The source factory for an SDK analysis context must have a DartUriRes olver"); | 2136 "The source factory for an SDK analysis context must have a DartUriRes olver"); |
| 2132 } | 2137 } |
| 2133 return new AnalysisCache(<CachePartition>[ | 2138 return new AnalysisCache(<CachePartition>[ |
| 2134 AnalysisEngine.instance.partitionManager_new.forSdk(sdk) | 2139 AnalysisEngine.instance.partitionManager_new.forSdk(sdk) |
| 2135 ]); | 2140 ]); |
| 2136 } | 2141 } |
| 2137 } | 2142 } |
| OLD | NEW |