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

Unified Diff: pkg/compiler/lib/src/ssa/nodes.dart

Issue 2598983002: Introduce DartType super hierarchy based on Entity (Closed)
Patch Set: Cleanup. Created 4 years 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
Index: pkg/compiler/lib/src/ssa/nodes.dart
diff --git a/pkg/compiler/lib/src/ssa/nodes.dart b/pkg/compiler/lib/src/ssa/nodes.dart
index a711e4122547b0fff369b3bf381a89ce6335974d..b1f806ca9353f37731d56a4b3b846c8fce35b4f9 100644
--- a/pkg/compiler/lib/src/ssa/nodes.dart
+++ b/pkg/compiler/lib/src/ssa/nodes.dart
@@ -8,10 +8,10 @@ import '../common/backend_api.dart' show BackendClasses;
import '../compiler.dart' show Compiler;
import '../constants/constant_system.dart';
import '../constants/values.dart';
-import '../dart_types.dart';
import '../elements/elements.dart'
show Entity, JumpTarget, LabelDefinition, Local;
import '../elements/entities.dart';
+import '../elements/types.dart';
import '../io/source_information.dart';
import '../js/js.dart' as js;
import '../js_backend/backend_helpers.dart' show BackendHelpers;
@@ -1356,8 +1356,9 @@ abstract class HInstruction implements Spannable {
} else if (kind == HTypeConversion.CHECKED_MODE_CHECK && !type.treatAsRaw) {
throw 'creating compound check to $type (this = ${this})';
} else {
- Entity cls = type.element;
- TypeMask subtype = new TypeMask.subtype(cls, closedWorld);
+ InterfaceType interfaceType = type;
+ TypeMask subtype =
+ new TypeMask.subtype(interfaceType.element, closedWorld);
return new HTypeConversion(type, kind, subtype, this);
}
}
@@ -2795,7 +2796,7 @@ class HTypeConversion extends HCheck {
: checkedType = type,
super(<HInstruction>[input], type) {
assert(!isReceiverTypeCheck || receiverTypeCheckSelector != null);
- assert(typeExpression == null || typeExpression.kind != TypeKind.TYPEDEF);
+ assert(typeExpression == null || !typeExpression.isTypedef);
sourceElement = input.sourceElement;
}
@@ -2804,7 +2805,7 @@ class HTypeConversion extends HCheck {
: checkedType = type,
super(<HInstruction>[input, typeRepresentation], type),
receiverTypeCheckSelector = null {
- assert(typeExpression.kind != TypeKind.TYPEDEF);
+ assert(!typeExpression.isTypedef);
sourceElement = input.sourceElement;
}
@@ -3264,7 +3265,7 @@ class HTypeInfoReadVariable extends HInstruction {
bool typeEquals(HInstruction other) => other is HTypeInfoReadVariable;
bool dataEquals(HTypeInfoReadVariable other) {
- return variable.element == other.variable.element;
+ return variable == other.variable;
}
String toString() => 'HTypeInfoReadVariable($variable)';
@@ -3382,8 +3383,7 @@ class HReadTypeVariable extends HInstruction {
bool typeEquals(HInstruction other) => other is HReadTypeVariable;
bool dataEquals(HReadTypeVariable other) {
- return dartType.element == other.dartType.element &&
- hasReceiver == other.hasReceiver;
+ return dartType == other.dartType && hasReceiver == other.hasReceiver;
}
}

Powered by Google App Engine
This is Rietveld 408576698