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

Unified Diff: pkg/analyzer/lib/src/dart/element/element.dart

Issue 2665013002: Issue 28550. Fix for resynthesizing invalid elements as declared types. (Closed)
Patch Set: Update link.dart Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/link.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/dart/element/element.dart
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index c90c7c3b8f0a6b1846e33955b2158f2887a769ac..4753ba882eff8ffcaf169c369ef06b16ef9f0f27 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -3882,7 +3882,8 @@ abstract class ExecutableElementImpl extends ElementImpl
serializedExecutable.inferredReturnTypeSlot, typeParameterContext);
_declaredReturnType = enclosingUnit.resynthesizerContext.resolveTypeRef(
serializedExecutable.returnType, typeParameterContext,
- defaultVoid: isSetter && context.analysisOptions.strongMode);
+ defaultVoid: isSetter && context.analysisOptions.strongMode,
+ declaredType: true);
}
return _returnType ?? _declaredReturnType;
}
@@ -4754,8 +4755,9 @@ class FunctionTypeAliasElementImpl extends ElementImpl
@override
DartType get returnType {
if (_unlinkedTypedef != null && _returnType == null) {
- _returnType = enclosingUnit.resynthesizerContext
- .resolveTypeRef(_unlinkedTypedef.returnType, this);
+ _returnType = enclosingUnit.resynthesizerContext.resolveTypeRef(
+ _unlinkedTypedef.returnType, this,
+ declaredType: true);
}
return _returnType;
}
@@ -6901,8 +6903,9 @@ abstract class NonParameterVariableElementImpl extends VariableElementImpl {
if (_unlinkedVariable != null && _declaredType == null && _type == null) {
_type = enclosingUnit.resynthesizerContext.resolveLinkedType(
_unlinkedVariable.inferredTypeSlot, typeParameterContext);
- _declaredType = enclosingUnit.resynthesizerContext
- .resolveTypeRef(_unlinkedVariable.type, typeParameterContext);
+ _declaredType = enclosingUnit.resynthesizerContext.resolveTypeRef(
+ _unlinkedVariable.type, typeParameterContext,
+ declaredType: true);
}
return super.type;
}
@@ -7389,8 +7392,9 @@ class ParameterElementImpl extends VariableElementImpl
} else {
_type = enclosingUnit.resynthesizerContext.resolveLinkedType(
_unlinkedParam.inferredTypeSlot, typeParameterContext);
- _declaredType = enclosingUnit.resynthesizerContext
- .resolveTypeRef(_unlinkedParam.type, typeParameterContext);
+ _declaredType = enclosingUnit.resynthesizerContext.resolveTypeRef(
+ _unlinkedParam.type, typeParameterContext,
+ declaredType: true);
}
}
}
@@ -7948,7 +7952,9 @@ abstract class ResynthesizerContext {
*/
DartType resolveTypeRef(
EntityRef type, TypeParameterizedElementMixin typeParameterContext,
- {bool defaultVoid: false, bool instantiateToBoundsAllowed: true});
+ {bool defaultVoid: false,
+ bool instantiateToBoundsAllowed: true,
+ bool declaredType: false});
}
/**
@@ -8148,7 +8154,7 @@ class TypeParameterElementImpl extends ElementImpl
}
return _bound ??= enclosingUnit.resynthesizerContext.resolveTypeRef(
_unlinkedTypeParam.bound, enclosingElement,
- instantiateToBoundsAllowed: false);
+ instantiateToBoundsAllowed: false, declaredType: true);
}
return _bound;
}
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/link.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698