Index: runtime/vm/object.cc |
=================================================================== |
--- runtime/vm/object.cc (revision 35546) |
+++ runtime/vm/object.cc (working copy) |
@@ -113,6 +113,7 @@ |
RawClass* Object::void_class_ = reinterpret_cast<RawClass*>(RAW_NULL); |
RawType* Object::dynamic_type_ = reinterpret_cast<RawType*>(RAW_NULL); |
RawType* Object::void_type_ = reinterpret_cast<RawType*>(RAW_NULL); |
+RawType* Object::function_type_ = reinterpret_cast<RawType*>(RAW_NULL); |
RawClass* Object::unresolved_class_class_ = |
reinterpret_cast<RawClass*>(RAW_NULL); |
RawClass* Object::type_arguments_class_ = reinterpret_cast<RawClass*>(RAW_NULL); |
@@ -690,6 +691,9 @@ |
cls = void_class_; |
void_type_ = Type::NewNonParameterizedType(cls); |
+ cls = function_class_; |
+ function_type_ = Type::NewNonParameterizedType(cls); |
+ |
// Allocate and initialize singleton true and false boolean objects. |
cls = Class::New<Bool>(); |
isolate->object_store()->set_bool_class(cls); |
@@ -13848,6 +13852,10 @@ |
if (cls.raw() == Object::dynamic_class() && (isolate != Dart::vm_isolate())) { |
return Object::dynamic_type(); |
} |
+ if (cls.raw() == Object::function_class() && |
+ (isolate != Dart::vm_isolate())) { |
+ return Object::function_type(); |
+ } |
// Fast canonical lookup/registry for simple types. |
if ((cls.NumTypeArguments() == 0) && !cls.IsSignatureClass()) { |
type = cls.CanonicalType(); |