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

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

Issue 1136603002: Remove CompositeResultDescriptor (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 7 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 | Annotate | Revision Log
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/src/cancelable_future.dart'; 10 import 'package:analyzer/src/cancelable_future.dart';
(...skipping 1319 matching lines...) Expand 10 before | Expand all | Expand 10 after
1330 return SourcePriority.LIBRARY; 1330 return SourcePriority.LIBRARY;
1331 } else if (kind == SourceKind.PART) { 1331 } else if (kind == SourceKind.PART) {
1332 return SourcePriority.NORMAL_PART; 1332 return SourcePriority.NORMAL_PART;
1333 } 1333 }
1334 return SourcePriority.UNKNOWN; 1334 return SourcePriority.UNKNOWN;
1335 } 1335 }
1336 1336
1337 Object /*V*/ _computeResult( 1337 Object /*V*/ _computeResult(
1338 AnalysisTarget target, ResultDescriptor /*<V>*/ descriptor) { 1338 AnalysisTarget target, ResultDescriptor /*<V>*/ descriptor) {
1339 cache.CacheEntry entry = getCacheEntry(target); 1339 cache.CacheEntry entry = getCacheEntry(target);
1340 if (descriptor is CompositeResultDescriptor) {
1341 List compositeResults = [];
1342 for (ResultDescriptor descriptor in descriptor.contributors) {
1343 List value = _computeResult(target, descriptor);
1344 compositeResults.addAll(value);
1345 }
1346 return compositeResults;
1347 }
1348 CacheState state = entry.getState(descriptor); 1340 CacheState state = entry.getState(descriptor);
1349 if (state == CacheState.FLUSHED || state == CacheState.INVALID) { 1341 if (state == CacheState.FLUSHED || state == CacheState.INVALID) {
1350 _driver.computeResult(target, descriptor); 1342 _driver.computeResult(target, descriptor);
1351 } 1343 }
1352 state = entry.getState(descriptor); 1344 state = entry.getState(descriptor);
1353 if (state == CacheState.ERROR) { 1345 if (state == CacheState.ERROR) {
1354 throw new AnalysisException( 1346 throw new AnalysisException(
1355 'Cannot compute $descriptor for $target', entry.exception); 1347 'Cannot compute $descriptor for $target', entry.exception);
1356 } 1348 }
1357 return entry.getValue(descriptor); 1349 return entry.getValue(descriptor);
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1481 _pendingNotices[source] = notice; 1473 _pendingNotices[source] = notice;
1482 } 1474 }
1483 return notice; 1475 return notice;
1484 } 1476 }
1485 1477
1486 Object _getResult(AnalysisTarget target, ResultDescriptor descriptor) { 1478 Object _getResult(AnalysisTarget target, ResultDescriptor descriptor) {
1487 cache.CacheEntry entry = _cache.get(target); 1479 cache.CacheEntry entry = _cache.get(target);
1488 if (entry == null) { 1480 if (entry == null) {
1489 return descriptor.defaultValue; 1481 return descriptor.defaultValue;
1490 } 1482 }
1491 if (descriptor is CompositeResultDescriptor) {
1492 List compositeResults = [];
1493 for (ResultDescriptor descriptor in descriptor.contributors) {
1494 List value = _getResult(target, descriptor);
1495 compositeResults.addAll(value);
1496 }
1497 return compositeResults;
1498 }
1499 if (entry.isValid(descriptor)) { 1483 if (entry.isValid(descriptor)) {
1500 return entry.getValue(descriptor); 1484 return entry.getValue(descriptor);
1501 } 1485 }
1502 return descriptor.defaultValue; 1486 return descriptor.defaultValue;
1503 } 1487 }
1504 1488
1505 /** 1489 /**
1506 * Return a list containing all of the sources known to this context that have 1490 * Return a list containing all of the sources known to this context that have
1507 * the given [kind]. 1491 * the given [kind].
1508 */ 1492 */
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after
2145 PendingFuture pendingFuture = 2129 PendingFuture pendingFuture =
2146 new PendingFuture<T>(_context, target, computeValue); 2130 new PendingFuture<T>(_context, target, computeValue);
2147 if (!pendingFuture.evaluate(entry)) { 2131 if (!pendingFuture.evaluate(entry)) {
2148 _context._pendingFutureTargets 2132 _context._pendingFutureTargets
2149 .putIfAbsent(target, () => <PendingFuture>[]) 2133 .putIfAbsent(target, () => <PendingFuture>[])
2150 .add(pendingFuture); 2134 .add(pendingFuture);
2151 } 2135 }
2152 return pendingFuture.future; 2136 return pendingFuture.future;
2153 } 2137 }
2154 } 2138 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/task/model.dart » ('j') | pkg/analyzer/lib/src/task/model.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698