Chromium Code Reviews| Index: runtime/vm/class_finalizer.cc |
| =================================================================== |
| --- runtime/vm/class_finalizer.cc (revision 15751) |
| +++ runtime/vm/class_finalizer.cc (working copy) |
| @@ -220,6 +220,8 @@ |
| ASSERT(ImmutableArray::InstanceSize() == cls.instance_size()); |
| cls = object_store->uint8_array_class(); |
| ASSERT(Uint8Array::InstanceSize() == cls.instance_size()); |
| + cls = object_store->uint8_clamped_array_class(); |
| + ASSERT(Uint8ClampedArray::InstanceSize() == cls.instance_size()); |
| cls = object_store->int16_array_class(); |
| ASSERT(Int16Array::InstanceSize() == cls.instance_size()); |
| cls = object_store->uint16_array_class(); |
| @@ -238,8 +240,8 @@ |
| ASSERT(Float64Array::InstanceSize() == cls.instance_size()); |
| cls = object_store->external_int8_array_class(); |
| ASSERT(ExternalInt8Array::InstanceSize() == cls.instance_size()); |
| - cls = object_store->external_uint8_array_class(); |
| - ASSERT(ExternalUint8Array::InstanceSize() == cls.instance_size()); |
| + cls = object_store->external_uint8_clamped_array_class(); |
| + ASSERT(ExternalUint8ClampedArray::InstanceSize() == cls.instance_size()); |
| cls = object_store->external_int16_array_class(); |
| ASSERT(ExternalInt16Array::InstanceSize() == cls.instance_size()); |
| cls = object_store->external_uint16_array_class(); |
| @@ -321,7 +323,8 @@ |
| const Class& super_class = Class::Handle(super_type.type_class()); |
| // If cls belongs to core lib or to core lib's implementation, restrictions |
| // about allowed interfaces are lifted. |
| - if (cls.library() != Library::CoreLibrary()) { |
| + if ((cls.library() != Library::CoreLibrary()) && |
| + (cls.library() != Library::ScalarlistLibrary())) { |
|
cshapiro
2012/12/05 23:01:49
Why this new code?
srdjan
2012/12/06 19:23:14
Forgot to remove.
|
| // Prevent extending core implementation classes. |
| bool is_error = false; |
| switch (super_class.id()) { |
| @@ -342,7 +345,9 @@ |
| case kInt8ArrayCid: |
| case kExternalInt8ArrayCid: |
| case kUint8ArrayCid: |
| + case kUint8ClampedArrayCid: |
| case kExternalUint8ArrayCid: |
| + case kExternalUint8ClampedArrayCid: |
| case kInt16ArrayCid: |
| case kExternalInt16ArrayCid: |
| case kUint16ArrayCid: |