OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 engine; | 5 library engine; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:collection'; | 8 import 'dart:collection'; |
9 import 'dart:math' as math; | 9 import 'dart:math' as math; |
10 | 10 |
(...skipping 8755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8766 @override | 8766 @override |
8767 void internalPerform() { | 8767 void internalPerform() { |
8768 _complete = true; | 8768 _complete = true; |
8769 try { | 8769 try { |
8770 TimestampedData<String> data = context.getContents(source); | 8770 TimestampedData<String> data = context.getContents(source); |
8771 _content = data.data; | 8771 _content = data.data; |
8772 _modificationTime = data.modificationTime; | 8772 _modificationTime = data.modificationTime; |
8773 AnalysisEngine.instance.instrumentationService | 8773 AnalysisEngine.instance.instrumentationService |
8774 .logFileRead(source.fullName, _modificationTime, _content); | 8774 .logFileRead(source.fullName, _modificationTime, _content); |
8775 } catch (exception, stackTrace) { | 8775 } catch (exception, stackTrace) { |
8776 errors.add(new AnalysisError( | 8776 if (source.exists()) { |
8777 source, 0, 0, ScannerErrorCode.UNABLE_GET_CONTENT, [exception])); | 8777 errors.add(new AnalysisError( |
| 8778 source, 0, 0, ScannerErrorCode.UNABLE_GET_CONTENT, [exception])); |
| 8779 } |
8778 throw new AnalysisException("Could not get contents of $source", | 8780 throw new AnalysisException("Could not get contents of $source", |
8779 new CaughtException(exception, stackTrace)); | 8781 new CaughtException(exception, stackTrace)); |
8780 } | 8782 } |
8781 } | 8783 } |
8782 } | 8784 } |
8783 | 8785 |
8784 /** | 8786 /** |
8785 * The information cached by an analysis context about an individual HTML file. | 8787 * The information cached by an analysis context about an individual HTML file. |
8786 */ | 8788 */ |
8787 class HtmlEntry extends SourceEntry { | 8789 class HtmlEntry extends SourceEntry { |
(...skipping 3263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12051 PendingFuture pendingFuture = | 12053 PendingFuture pendingFuture = |
12052 new PendingFuture<T>(_context, source, computeValue); | 12054 new PendingFuture<T>(_context, source, computeValue); |
12053 if (!pendingFuture.evaluate(sourceEntry)) { | 12055 if (!pendingFuture.evaluate(sourceEntry)) { |
12054 _context._pendingFutureSources | 12056 _context._pendingFutureSources |
12055 .putIfAbsent(source, () => <PendingFuture>[]) | 12057 .putIfAbsent(source, () => <PendingFuture>[]) |
12056 .add(pendingFuture); | 12058 .add(pendingFuture); |
12057 } | 12059 } |
12058 return pendingFuture.future; | 12060 return pendingFuture.future; |
12059 } | 12061 } |
12060 } | 12062 } |
OLD | NEW |