Index: pkg/analyzer/lib/src/dart/constant/value.dart |
diff --git a/pkg/analyzer/lib/src/dart/constant/value.dart b/pkg/analyzer/lib/src/dart/constant/value.dart |
index a26992577fea4e013cc524b7e6ac3fff18a0b632..a0d11629d04247eea94cf6941d2ed8186e3c13a4 100644 |
--- a/pkg/analyzer/lib/src/dart/constant/value.dart |
+++ b/pkg/analyzer/lib/src/dart/constant/value.dart |
@@ -720,10 +720,7 @@ class DartObjectImpl implements DartObject { |
DartType toTypeValue() { |
InstanceState state = _state; |
if (state is TypeState) { |
- Element element = state._element; |
- if (element is TypeDefiningElement) { |
- return element.type; |
- } |
+ return state._type; |
} |
return null; |
} |
@@ -2771,29 +2768,29 @@ class TypeState extends InstanceState { |
/** |
* The element representing the type being modeled. |
*/ |
- final Element _element; |
+ final DartType _type; |
/** |
* Initialize a newly created state to represent the given [value]. |
*/ |
- TypeState(this._element); |
+ TypeState(this._type); |
@override |
- int get hashCode => _element == null ? 0 : _element.hashCode; |
+ int get hashCode => _type?.hashCode ?? 0; |
@override |
String get typeName => "Type"; |
@override |
bool operator ==(Object object) => |
- object is TypeState && (_element == object._element); |
+ object is TypeState && (_type == object._type); |
@override |
StringState convertToString() { |
- if (_element == null) { |
+ if (_type == null) { |
return StringState.UNKNOWN_VALUE; |
} |
- return new StringState(_element.name); |
+ return new StringState(_type.displayName); |
} |
@override |
@@ -2804,15 +2801,15 @@ class TypeState extends InstanceState { |
@override |
BoolState isIdentical(InstanceState rightOperand) { |
- if (_element == null) { |
+ if (_type == null) { |
return BoolState.UNKNOWN_VALUE; |
} |
if (rightOperand is TypeState) { |
- Element rightElement = rightOperand._element; |
- if (rightElement == null) { |
+ DartType rightType = rightOperand._type; |
+ if (rightType == null) { |
return BoolState.UNKNOWN_VALUE; |
} |
- return BoolState.from(_element == rightElement); |
+ return BoolState.from(_type == rightType); |
} else if (rightOperand is DynamicState) { |
return BoolState.UNKNOWN_VALUE; |
} |
@@ -2820,5 +2817,5 @@ class TypeState extends InstanceState { |
} |
@override |
- String toString() => _element == null ? "-unknown-" : _element.name; |
+ String toString() => _type?.toString() ?? "-unknown-"; |
} |