| Index: runtime/vm/class_finalizer.cc
|
| diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
|
| index f59a0481658d7916a132a709695778b929f3847a..8292928b130115bbd4a6623ccdf76da3059de1bd 100644
|
| --- a/runtime/vm/class_finalizer.cc
|
| +++ b/runtime/vm/class_finalizer.cc
|
| @@ -1927,6 +1927,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:
|
| @@ -1996,11 +1997,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() ||
|
|
|