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

Unified Diff: pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart

Issue 1421003004: Add CoreClasses (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comment. Created 5 years, 2 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 | « pkg/compiler/lib/src/inferrer/inferrer_visitor.dart ('k') | pkg/compiler/lib/src/js_backend/backend.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
diff --git a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
index f11cb3f322fa6309a24949c6d401d5ae8ffb75f2..086edfbec59ad5e6e62b0ee33f3bd9b2c7828370 100644
--- a/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
+++ b/pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart
@@ -15,6 +15,9 @@ import '../compiler.dart' show
import '../constants/values.dart' show
ConstantValue,
IntConstantValue;
+import '../core_types.dart' show
+ CoreClasses,
+ CoreTypes;
import '../cps_ir/cps_ir_nodes.dart' as cps_ir show
Node;
import '../dart_types.dart' show
@@ -62,7 +65,7 @@ class TypeMaskSystem implements TypeSystem<TypeMask> {
DartType annotation,
{bool isNullable: true}) {
if (annotation.treatAsDynamic) return type;
- if (annotation.element == compiler.objectClass) return type;
+ if (annotation.isObject) return type;
TypeMask otherType;
if (annotation.isTypedef || annotation.isFunctionType) {
otherType = functionType;
@@ -207,6 +210,10 @@ abstract class InferrerEngine<T, V extends TypeSystem>
: this.compiler = compiler,
this.classWorld = compiler.world;
+ CoreClasses get coreClasses => compiler.coreClasses;
+
+ CoreTypes get coreTypes => compiler.coreTypes;
+
/**
* Records the default type of parameter [parameter].
*/
@@ -388,20 +395,20 @@ abstract class InferrerEngine<T, V extends TypeSystem>
for (var type in typesReturned) {
T mappedType;
if (type == native.SpecialType.JsObject) {
- mappedType = types.nonNullExact(compiler.objectClass);
- } else if (type.element == compiler.stringClass) {
+ mappedType = types.nonNullExact(coreClasses.objectClass);
+ } else if (type == coreTypes.stringType) {
mappedType = types.stringType;
- } else if (type.element == compiler.intClass) {
+ } else if (type == coreTypes.intType) {
mappedType = types.intType;
- } else if (type.element == compiler.numClass ||
- type.element == compiler.doubleClass) {
+ } else if (type == coreTypes.numType ||
+ type == coreTypes.doubleType) {
// Note: the backend double class is specifically for non-integer
// doubles, and a native behavior returning 'double' does not guarantee
// a non-integer return type, so we return the number type for those.
mappedType = types.numType;
- } else if (type.element == compiler.boolClass) {
+ } else if (type == coreTypes.boolType) {
mappedType = types.boolType;
- } else if (type.element == compiler.nullClass) {
+ } else if (type == coreTypes.nullType) {
mappedType = types.nullType;
} else if (type.isVoid) {
mappedType = types.nullType;
« no previous file with comments | « pkg/compiler/lib/src/inferrer/inferrer_visitor.dart ('k') | pkg/compiler/lib/src/js_backend/backend.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698