Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: pkg/analyzer/lib/src/context/context.dart

Issue 1164223002: Fix several tests when the new task model is enabled (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/testing/element_factory.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 HashMap<AnalysisTarget, List<PendingFuture>> get pendingFutureSources_forTesti ng => 343 HashMap<AnalysisTarget, List<PendingFuture>> get pendingFutureSources_forTesti ng =>
344 _pendingFutureTargets; 344 _pendingFutureTargets;
345 345
346 @override 346 @override
347 List<Source> get prioritySources => _priorityOrder; 347 List<Source> get prioritySources => _priorityOrder;
348 348
349 @override 349 @override
350 List<AnalysisTarget> get priorityTargets => prioritySources; 350 List<AnalysisTarget> get priorityTargets => prioritySources;
351 351
352 @override 352 @override
353 CachePartition get privateAnalysisCachePartition => _privatePartition;
354
355 @override
353 SourceFactory get sourceFactory => _sourceFactory; 356 SourceFactory get sourceFactory => _sourceFactory;
354 357
355 @override 358 @override
356 void set sourceFactory(SourceFactory factory) { 359 void set sourceFactory(SourceFactory factory) {
357 if (identical(_sourceFactory, factory)) { 360 if (identical(_sourceFactory, factory)) {
358 return; 361 return;
359 } else if (factory.context != null) { 362 } else if (factory.context != null) {
360 throw new IllegalStateException( 363 throw new IllegalStateException(
361 "Source factories cannot be shared between contexts"); 364 "Source factories cannot be shared between contexts");
362 } 365 }
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 // TODO(brianwilkerson) Implement this. 763 // TODO(brianwilkerson) Implement this.
761 // SourceEntry sourceEntry = getReadableSourceEntryOrNull(source); 764 // SourceEntry sourceEntry = getReadableSourceEntryOrNull(source);
762 // if (sourceEntry is HtmlEntry) { 765 // if (sourceEntry is HtmlEntry) {
763 // return sourceEntry.getValue(HtmlEntry.ELEMENT); 766 // return sourceEntry.getValue(HtmlEntry.ELEMENT);
764 // } 767 // }
765 return null; 768 return null;
766 } 769 }
767 770
768 @override 771 @override
769 List<Source> getHtmlFilesReferencing(Source source) { 772 List<Source> getHtmlFilesReferencing(Source source) {
773 // TODO(brianwilkerson) Implement this.
770 SourceKind sourceKind = getKindOf(source); 774 SourceKind sourceKind = getKindOf(source);
771 if (sourceKind == null) { 775 if (sourceKind == null) {
772 return Source.EMPTY_LIST; 776 return Source.EMPTY_LIST;
773 } 777 }
774 List<Source> htmlSources = <Source>[]; 778 List<Source> htmlSources = <Source>[];
775 while (true) { 779 // while (true) {
776 if (sourceKind == SourceKind.PART) { 780 // if (sourceKind == SourceKind.PART) {
777 List<Source> librarySources = getLibrariesContaining(source); 781 // List<Source> librarySources = getLibrariesContaining(source);
778 for (Source source in _cache.sources) { 782 // for (Source source in _cache.sources) {
779 CacheEntry entry = _cache.get(source); 783 // CacheEntry entry = _cache.get(source);
780 if (entry.getValue(SOURCE_KIND) == SourceKind.HTML) { 784 // if (entry.getValue(SOURCE_KIND) == SourceKind.HTML) {
781 List<Source> referencedLibraries = 785 // List<Source> referencedLibraries =
782 (entry as HtmlEntry).getValue(HtmlEntry.REFERENCED_LIBRARIES); 786 // (entry as HtmlEntry).getValue(HtmlEntry.REFERENCED_LIBRARIES);
783 if (_containsAny(referencedLibraries, librarySources)) { 787 // if (_containsAny(referencedLibraries, librarySources)) {
784 htmlSources.add(source); 788 // htmlSources.add(source);
785 } 789 // }
786 } 790 // }
787 } 791 // }
788 } else { 792 // } else {
789 for (Source source in _cache.sources) { 793 // for (Source source in _cache.sources) {
790 CacheEntry entry = _cache.get(source); 794 // CacheEntry entry = _cache.get(source);
791 if (entry.getValue(SOURCE_KIND) == SourceKind.HTML) { 795 // if (entry.getValue(SOURCE_KIND) == SourceKind.HTML) {
792 List<Source> referencedLibraries = 796 // List<Source> referencedLibraries =
793 (entry as HtmlEntry).getValue(HtmlEntry.REFERENCED_LIBRARIES); 797 // (entry as HtmlEntry).getValue(HtmlEntry.REFERENCED_LIBRARIES);
794 if (_contains(referencedLibraries, source)) { 798 // if (_contains(referencedLibraries, source)) {
795 htmlSources.add(source); 799 // htmlSources.add(source);
796 } 800 // }
797 } 801 // }
798 } 802 // }
799 } 803 // }
800 break; 804 // break;
801 } 805 // }
802 if (htmlSources.isEmpty) { 806 if (htmlSources.isEmpty) {
803 return Source.EMPTY_LIST; 807 return Source.EMPTY_LIST;
804 } 808 }
805 return htmlSources; 809 return htmlSources;
806 } 810 }
807 811
808 @override 812 @override
809 SourceKind getKindOf(Source source) { 813 SourceKind getKindOf(Source source) {
810 String name = source.shortName; 814 String name = source.shortName;
811 if (AnalysisEngine.isDartFileName(name)) { 815 if (AnalysisEngine.isDartFileName(name)) {
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 } else if (!entry.explicitlyAdded) { 1171 } else if (!entry.explicitlyAdded) {
1168 return _options.generateImplicitErrors; 1172 return _options.generateImplicitErrors;
1169 } else { 1173 } else {
1170 return true; 1174 return true;
1171 } 1175 }
1172 } 1176 }
1173 1177
1174 @override 1178 @override
1175 void visitCacheItems(void callback(Source source, SourceEntry dartEntry, 1179 void visitCacheItems(void callback(Source source, SourceEntry dartEntry,
1176 DataDescriptor rowDesc, CacheState state)) { 1180 DataDescriptor rowDesc, CacheState state)) {
1177 // TODO(brianwilkerson) Figure out where this is used and adjust the call 1181 // TODO(brianwilkerson) Figure out where this is used and either remove it
1178 // sites to use CacheEntry's. 1182 // or adjust the call sites to use CacheEntry's.
1179 // bool hintsEnabled = _options.hint; 1183 // bool hintsEnabled = _options.hint;
1180 // bool lintsEnabled = _options.lint; 1184 // bool lintsEnabled = _options.lint;
1181 // MapIterator<AnalysisTarget, cache.CacheEntry> iterator = _cache.iterator() ; 1185 // MapIterator<AnalysisTarget, cache.CacheEntry> iterator = _cache.iterator() ;
1182 // while (iterator.moveNext()) { 1186 // while (iterator.moveNext()) {
1183 // Source source = iterator.key; 1187 // Source source = iterator.key;
1184 // cache.CacheEntry entry = iterator.value; 1188 // cache.CacheEntry entry = iterator.value;
1185 // for (DataDescriptor descriptor in entry.descriptors) { 1189 // for (DataDescriptor descriptor in entry.descriptors) {
1186 // if (descriptor == DartEntry.SOURCE_KIND) { 1190 // if (descriptor == DartEntry.SOURCE_KIND) {
1187 // // The source kind is always valid, so the state isn't interesting. 1191 // // The source kind is always valid, so the state isn't interesting.
1188 // continue; 1192 // continue;
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
1554 * given [source] has been updated to the given [errors]. 1558 * given [source] has been updated to the given [errors].
1555 */ 1559 */
1556 void _notifyErrors( 1560 void _notifyErrors(
1557 Source source, List<AnalysisError> errors, LineInfo lineInfo) { 1561 Source source, List<AnalysisError> errors, LineInfo lineInfo) {
1558 int count = _listeners.length; 1562 int count = _listeners.length;
1559 for (int i = 0; i < count; i++) { 1563 for (int i = 0; i < count; i++) {
1560 _listeners[i].computedErrors(this, source, errors, lineInfo); 1564 _listeners[i].computedErrors(this, source, errors, lineInfo);
1561 } 1565 }
1562 } 1566 }
1563 1567
1564 @override
1565 CachePartition get privateAnalysisCachePartition => _privatePartition;
1566
1567 /** 1568 /**
1568 * Remove the given [source] from the priority order if it is in the list. 1569 * Remove the given [source] from the priority order if it is in the list.
1569 */ 1570 */
1570 void _removeFromPriorityOrder(Source source) { 1571 void _removeFromPriorityOrder(Source source) {
1571 int count = _priorityOrder.length; 1572 int count = _priorityOrder.length;
1572 List<Source> newOrder = <Source>[]; 1573 List<Source> newOrder = <Source>[];
1573 for (int i = 0; i < count; i++) { 1574 for (int i = 0; i < count; i++) {
1574 if (_priorityOrder[i] != source) { 1575 if (_priorityOrder[i] != source) {
1575 newOrder.add(_priorityOrder[i]); 1576 newOrder.add(_priorityOrder[i]);
1576 } 1577 }
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
1970 PendingFuture pendingFuture = 1971 PendingFuture pendingFuture =
1971 new PendingFuture<T>(_context, target, computeValue); 1972 new PendingFuture<T>(_context, target, computeValue);
1972 if (!pendingFuture.evaluate(entry)) { 1973 if (!pendingFuture.evaluate(entry)) {
1973 _context._pendingFutureTargets 1974 _context._pendingFutureTargets
1974 .putIfAbsent(target, () => <PendingFuture>[]) 1975 .putIfAbsent(target, () => <PendingFuture>[])
1975 .add(pendingFuture); 1976 .add(pendingFuture);
1976 } 1977 }
1977 return pendingFuture.future; 1978 return pendingFuture.future;
1978 } 1979 }
1979 } 1980 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/testing/element_factory.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698