| 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-";
|
| }
|
|
|