| Index: pkg/analyzer_experimental/lib/src/generated/engine.dart
|
| diff --git a/pkg/analyzer_experimental/lib/src/generated/engine.dart b/pkg/analyzer_experimental/lib/src/generated/engine.dart
|
| index 900b1342e7020e29078aff024f6891c7b4beaf7a..909e4f7b03aac67c00b1051740ca73590d472436 100644
|
| --- a/pkg/analyzer_experimental/lib/src/generated/engine.dart
|
| +++ b/pkg/analyzer_experimental/lib/src/generated/engine.dart
|
| @@ -1087,7 +1087,7 @@ abstract class DartEntry implements SourceEntry {
|
| * context for the data
|
| * @return the value of the data represented by the given descriptor and library
|
| */
|
| - CacheState getState2(DataDescriptor<Object> descriptor, Source librarySource);
|
| + CacheState getState2(DataDescriptor descriptor, Source librarySource);
|
|
|
| /**
|
| * Return the value of the data represented by the given descriptor in the context of the given
|
| @@ -1310,7 +1310,7 @@ class DartEntryImpl extends SourceEntryImpl implements DartEntry {
|
| ;
|
| return null;
|
| }
|
| - CacheState getState(DataDescriptor<Object> descriptor) {
|
| + CacheState getState(DataDescriptor descriptor) {
|
| if (identical(descriptor, DartEntry.ELEMENT)) {
|
| return _elementState;
|
| } else if (identical(descriptor, DartEntry.EXPORTED_LIBRARIES)) {
|
| @@ -1335,7 +1335,7 @@ class DartEntryImpl extends SourceEntryImpl implements DartEntry {
|
| return super.getState(descriptor);
|
| }
|
| }
|
| - CacheState getState2(DataDescriptor<Object> descriptor, Source librarySource2) {
|
| + CacheState getState2(DataDescriptor descriptor, Source librarySource2) {
|
| DartEntryImpl_ResolutionState state = _resolutionState;
|
| while (state != null) {
|
| if (librarySource2 == state._librarySource) {
|
| @@ -1569,7 +1569,7 @@ class DartEntryImpl extends SourceEntryImpl implements DartEntry {
|
| _parseErrorsState = CacheState.VALID;
|
| }
|
| }
|
| - void setState(DataDescriptor<Object> descriptor, CacheState state) {
|
| + void setState(DataDescriptor descriptor, CacheState state) {
|
| if (identical(descriptor, DartEntry.ELEMENT)) {
|
| _element = updatedValue(state, _element, null);
|
| _elementState = state;
|
| @@ -1618,7 +1618,7 @@ class DartEntryImpl extends SourceEntryImpl implements DartEntry {
|
| * context for the data
|
| * @param cacheState the new state of the data represented by the given descriptor
|
| */
|
| - void setState2(DataDescriptor<Object> descriptor, Source librarySource, CacheState cacheState) {
|
| + void setState2(DataDescriptor descriptor, Source librarySource, CacheState cacheState) {
|
| DartEntryImpl_ResolutionState state = getOrCreateResolutionState(librarySource);
|
| if (identical(descriptor, DartEntry.RESOLUTION_ERRORS)) {
|
| state._resolutionErrors = updatedValue(cacheState, state._resolutionErrors, AnalysisError.NO_ERRORS);
|
| @@ -2064,7 +2064,7 @@ class HtmlEntryImpl extends SourceEntryImpl implements HtmlEntry {
|
| return new List.from(errors);
|
| }
|
| SourceKind get kind => SourceKind.HTML;
|
| - CacheState getState(DataDescriptor<Object> descriptor) {
|
| + CacheState getState(DataDescriptor descriptor) {
|
| if (identical(descriptor, HtmlEntry.ELEMENT)) {
|
| return _elementState;
|
| } else if (identical(descriptor, HtmlEntry.PARSED_UNIT)) {
|
| @@ -2109,7 +2109,7 @@ class HtmlEntryImpl extends SourceEntryImpl implements HtmlEntry {
|
| _hints = AnalysisError.NO_ERRORS;
|
| _hintsState = CacheState.INVALID;
|
| }
|
| - void setState(DataDescriptor<Object> descriptor, CacheState state) {
|
| + void setState(DataDescriptor descriptor, CacheState state) {
|
| if (identical(descriptor, HtmlEntry.ELEMENT)) {
|
| _element = updatedValue(state, _element, null);
|
| _elementState = state;
|
| @@ -2213,7 +2213,7 @@ abstract class SourceEntry {
|
| * @param descriptor the descriptor representing the data whose state is to be returned
|
| * @return the state of the data represented by the given descriptor
|
| */
|
| - CacheState getState(DataDescriptor<Object> descriptor);
|
| + CacheState getState(DataDescriptor descriptor);
|
|
|
| /**
|
| * Return the value of the data represented by the given descriptor, or `null` if the data
|
| @@ -2257,7 +2257,7 @@ abstract class SourceEntryImpl implements SourceEntry {
|
| */
|
| LineInfo _lineInfo;
|
| int get modificationTime => _modificationTime;
|
| - CacheState getState(DataDescriptor<Object> descriptor) {
|
| + CacheState getState(DataDescriptor descriptor) {
|
| if (identical(descriptor, SourceEntry.LINE_INFO)) {
|
| return _lineInfoState;
|
| } else {
|
| @@ -2288,7 +2288,7 @@ abstract class SourceEntryImpl implements SourceEntry {
|
| * @param descriptor the descriptor representing the data whose state is to be set
|
| * @param the new state of the data represented by the given descriptor
|
| */
|
| - void setState(DataDescriptor<Object> descriptor, CacheState state) {
|
| + void setState(DataDescriptor descriptor, CacheState state) {
|
| if (identical(descriptor, SourceEntry.LINE_INFO)) {
|
| _lineInfo = updatedValue(state, _lineInfo, null);
|
| _lineInfoState = state;
|
| @@ -2368,7 +2368,7 @@ class AnalysisContentStatisticsImpl implements AnalysisContentStatistics {
|
| Iterable<AnalysisContentStatistics_CacheRow> items = _dataMap.values;
|
| return new List.from(items);
|
| }
|
| - void putCacheItem(DataDescriptor<Object> rowDesc, CacheState state) {
|
| + void putCacheItem(DataDescriptor rowDesc, CacheState state) {
|
| String rowName = rowDesc.toString();
|
| AnalysisContentStatisticsImpl_CacheRowImpl row = _dataMap[rowName] as AnalysisContentStatisticsImpl_CacheRowImpl;
|
| if (row == null) {
|
| @@ -2425,7 +2425,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| * Helper for [getStatistics], puts the library-specific state into the given statistics
|
| * object.
|
| */
|
| - static void putStatCacheItem(AnalysisContentStatisticsImpl statistics, DartEntry dartEntry, Source librarySource, DataDescriptor<Object> key) {
|
| + static void putStatCacheItem(AnalysisContentStatisticsImpl statistics, DartEntry dartEntry, Source librarySource, DataDescriptor key) {
|
| statistics.putCacheItem(key, dartEntry.getState2(key, librarySource));
|
| }
|
|
|
| @@ -2433,7 +2433,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| * Helper for [getStatistics], puts the library independent state into the given
|
| * statistics object.
|
| */
|
| - static void putStatCacheItem2(AnalysisContentStatisticsImpl statistics, SourceEntry entry, DataDescriptor<Object> key) {
|
| + static void putStatCacheItem2(AnalysisContentStatisticsImpl statistics, SourceEntry entry, DataDescriptor key) {
|
| statistics.putCacheItem(key, entry.getState(key));
|
| }
|
|
|
| @@ -2627,7 +2627,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| return SourceKind.UNKNOWN;
|
| } else if (sourceEntry is DartEntry) {
|
| try {
|
| - return internalGetDartParseData(source, (sourceEntry as DartEntry), DartEntry.SOURCE_KIND);
|
| + return internalGetDartParseData(source, sourceEntry as DartEntry, DartEntry.SOURCE_KIND);
|
| } on AnalysisException catch (exception) {
|
| return SourceKind.UNKNOWN;
|
| }
|
| @@ -2686,7 +2686,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| internalParseDart(source);
|
| }
|
| }
|
| - AnalysisContext extractContext(SourceContainer container) => extractContextInto(container, (AnalysisEngine.instance.createAnalysisContext() as InternalAnalysisContext));
|
| + AnalysisContext extractContext(SourceContainer container) => extractContextInto(container, AnalysisEngine.instance.createAnalysisContext() as InternalAnalysisContext);
|
| InternalAnalysisContext extractContextInto(SourceContainer container, InternalAnalysisContext newContext) {
|
| List<Source> sourcesToRemove = new List<Source>();
|
| {
|
| @@ -3080,6 +3080,11 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| InheritanceManager inheritanceManager = new InheritanceManager(libraryElement);
|
| ResolverVisitor resolverVisitor = new ResolverVisitor.con2(libraryElement, unitSource, typeProvider, inheritanceManager, errorListener);
|
| unitAST.accept(resolverVisitor);
|
| + for (ProxyConditionalAnalysisError conditionalCode in resolverVisitor.proxyConditionalAnalysisErrors) {
|
| + if (conditionalCode.shouldIncludeErrorCode()) {
|
| + resolverVisitor.reportError(conditionalCode.analysisError);
|
| + }
|
| + }
|
| ErrorReporter errorReporter = new ErrorReporter(errorListener, unitSource);
|
| ErrorVerifier errorVerifier = new ErrorVerifier(errorReporter, libraryElement, typeProvider, inheritanceManager);
|
| unitAST.accept(errorVerifier);
|
| @@ -3592,8 +3597,8 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| * @param descriptor the descriptor representing the data to be returned
|
| * @return a cache entry containing the required data
|
| */
|
| - bool hasHtmlParseDataCached(HtmlEntry htmlEntry, List<DataDescriptor<Object>> descriptors) {
|
| - for (DataDescriptor<Object> descriptor in descriptors) {
|
| + bool hasHtmlParseDataCached(HtmlEntry htmlEntry, List<DataDescriptor> descriptors) {
|
| + for (DataDescriptor descriptor in descriptors) {
|
| CacheState state = htmlEntry.getState(descriptor);
|
| if (state != CacheState.VALID && state != CacheState.ERROR) {
|
| return false;
|
| @@ -3614,7 +3619,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| * @throws AnalysisException if data could not be returned because the source could not be
|
| * resolved
|
| */
|
| - DartEntry internalCacheDartParseData(Source source, DartEntry dartEntry, DataDescriptor<Object> descriptor) {
|
| + DartEntry internalCacheDartParseData(Source source, DartEntry dartEntry, DataDescriptor descriptor) {
|
| CacheState state = dartEntry.getState(descriptor);
|
| while (state != CacheState.ERROR && state != CacheState.VALID) {
|
| dartEntry = internalParseDart(source);
|
| @@ -3636,7 +3641,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| * @return the requested data about the given source
|
| * @throws AnalysisException if data could not be returned because the source could not be parsed
|
| */
|
| - DartEntry internalCacheDartResolutionData(Source unitSource, Source librarySource, DartEntry dartEntry, DataDescriptor<Object> descriptor) {
|
| + DartEntry internalCacheDartResolutionData(Source unitSource, Source librarySource, DartEntry dartEntry, DataDescriptor descriptor) {
|
| CacheState state = dartEntry.getState2(descriptor, librarySource);
|
| while (state != CacheState.ERROR && state != CacheState.VALID) {
|
| dartEntry = internalResolveDart(unitSource, librarySource);
|
| @@ -3657,7 +3662,7 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| * @throws AnalysisException if data could not be returned because the source could not be
|
| * resolved
|
| */
|
| - HtmlEntry internalCacheHtmlParseData(Source source, HtmlEntry htmlEntry, List<DataDescriptor<Object>> descriptors) {
|
| + HtmlEntry internalCacheHtmlParseData(Source source, HtmlEntry htmlEntry, List<DataDescriptor> descriptors) {
|
| while (!hasHtmlParseDataCached(htmlEntry, descriptors)) {
|
| htmlEntry = internalParseHtml(source);
|
| }
|
| @@ -3797,19 +3802,19 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| Set<Source> includedSources = new Set<Source>();
|
| for (Directive directive in unit.directives) {
|
| if (directive is ExportDirective) {
|
| - Source exportSource = resolveSource(source, (directive as ExportDirective));
|
| + Source exportSource = resolveSource(source, directive as ExportDirective);
|
| if (exportSource != null) {
|
| javaSetAdd(exportedSources, exportSource);
|
| }
|
| } else if (directive is ImportDirective) {
|
| - Source importSource = resolveSource(source, (directive as ImportDirective));
|
| + Source importSource = resolveSource(source, directive as ImportDirective);
|
| if (importSource != null) {
|
| javaSetAdd(importedSources, importSource);
|
| }
|
| } else if (directive is LibraryDirective) {
|
| hasLibraryDirective = true;
|
| } else if (directive is PartDirective) {
|
| - Source partSource = resolveSource(source, (directive as PartDirective));
|
| + Source partSource = resolveSource(source, directive as PartDirective);
|
| if (partSource != null) {
|
| javaSetAdd(includedSources, partSource);
|
| }
|
| @@ -3873,19 +3878,19 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| errors = errorListener.getErrors2(source);
|
| for (Directive directive in unit.directives) {
|
| if (directive is ExportDirective) {
|
| - Source exportSource = resolveSource(source, (directive as ExportDirective));
|
| + Source exportSource = resolveSource(source, directive as ExportDirective);
|
| if (exportSource != null) {
|
| javaSetAdd(exportedSources, exportSource);
|
| }
|
| } else if (directive is ImportDirective) {
|
| - Source importSource = resolveSource(source, (directive as ImportDirective));
|
| + Source importSource = resolveSource(source, directive as ImportDirective);
|
| if (importSource != null) {
|
| javaSetAdd(importedSources, importSource);
|
| }
|
| } else if (directive is LibraryDirective) {
|
| hasLibraryDirective = true;
|
| } else if (directive is PartDirective) {
|
| - Source partSource = resolveSource(source, (directive as PartDirective));
|
| + Source partSource = resolveSource(source, directive as PartDirective);
|
| if (partSource != null) {
|
| javaSetAdd(includedSources, partSource);
|
| }
|
| @@ -4427,7 +4432,9 @@ class AnalysisContextImpl implements InternalAnalysisContext {
|
| try {
|
| parseHtmlUnit(source);
|
| } on AnalysisException catch (exception) {
|
| - AnalysisEngine.instance.logger.logError2("Could not parse ${source.fullName}", exception);
|
| + if (exception.cause is! JavaIOException) {
|
| + AnalysisEngine.instance.logger.logError2("Could not parse ${source.fullName}", exception);
|
| + }
|
| }
|
| }
|
|
|
| @@ -4910,7 +4917,7 @@ class AnalysisOptionsImpl implements AnalysisOptions {
|
| /**
|
| * The enumeration `CacheState` defines the possible states of cached data.
|
| */
|
| -class CacheState implements Enum<CacheState> {
|
| +class CacheState extends Enum<CacheState> {
|
|
|
| /**
|
| * The data is not in the cache and the last time an attempt was made to compute the data an
|
| @@ -4967,16 +4974,7 @@ class CacheState implements Enum<CacheState> {
|
| */
|
| static final CacheState VALID = new CacheState('VALID', 4);
|
| static final List<CacheState> values = [ERROR, FLUSHED, IN_PROCESS, INVALID, VALID];
|
| -
|
| - /// The name of this enum constant, as declared in the enum declaration.
|
| - final String name;
|
| -
|
| - /// The position in the enum declaration.
|
| - final int ordinal;
|
| - CacheState(this.name, this.ordinal);
|
| - int compareTo(CacheState other) => ordinal - other.ordinal;
|
| - int get hashCode => ordinal;
|
| - String toString() => name;
|
| + CacheState(String name, int ordinal) : super(name, ordinal);
|
| }
|
| /**
|
| * Instances of the class `ChangeNoticeImpl` represent a change to the analysis results
|
|
|