| 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();
|
|
|