| Index: runtime/vm/class_finalizer.cc
|
| diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
|
| index f10b5bbbbf59096f375c2803c3e0ec146eef9ffa..c0db417c703b45d3c355220ef6b47a95771af2fe 100644
|
| --- a/runtime/vm/class_finalizer.cc
|
| +++ b/runtime/vm/class_finalizer.cc
|
| @@ -1903,6 +1903,7 @@ void ClassFinalizer::ResolveSuperTypeAndInterfaces(
|
| // Prevent extending core implementation classes.
|
| bool is_error = false;
|
| switch (interface_class.id()) {
|
| + case kNullCid:
|
| case kNumberCid:
|
| case kIntegerCid: // Class Integer, not int.
|
| case kSmiCid:
|
| @@ -1972,11 +1973,12 @@ void ClassFinalizer::ResolveSuperTypeAndInterfaces(
|
| String::Handle(interface_class.Name()).ToCString());
|
| }
|
| // Verify that unless cls belongs to core lib, it cannot extend or implement
|
| - // any of bool, num, int, double, String, Function, dynamic.
|
| + // any of Null, bool, num, int, double, String, Function, dynamic.
|
| // The exception is signature classes, which are compiler generated and
|
| // represent a function type, therefore implementing the Function interface.
|
| if (!cls_belongs_to_core_lib) {
|
| - if (interface.IsBoolType() ||
|
| + if (interface.IsNullType() ||
|
| + interface.IsBoolType() ||
|
| interface.IsNumberType() ||
|
| interface.IsIntType() ||
|
| interface.IsDoubleType() ||
|
|
|