Index: runtime/vm/raw_object.h |
=================================================================== |
--- runtime/vm/raw_object.h (revision 19513) |
+++ runtime/vm/raw_object.h (working copy) |
@@ -51,6 +51,7 @@ |
V(AbstractType) \ |
V(Type) \ |
V(TypeParameter) \ |
+ V(BoundedType) \ |
V(Number) \ |
V(Integer) \ |
V(Smi) \ |
@@ -437,7 +438,7 @@ |
RawScript* script_; |
RawLibrary* library_; |
RawTypeArguments* type_parameters_; // Array of TypeParameter. |
- RawType* super_type_; |
+ RawAbstractType* super_type_; |
RawType* mixin_; |
RawFunction* signature_function_; // Associated function for signature class. |
RawArray* constants_; // Canonicalized values of this class. |
@@ -1119,6 +1120,23 @@ |
}; |
+class RawBoundedType : public RawAbstractType { |
+ private: |
+ RAW_HEAP_OBJECT_IMPLEMENTATION(BoundedType); |
+ |
+ RawObject** from() { |
+ return reinterpret_cast<RawObject**>(&ptr()->type_); |
+ } |
+ RawAbstractType* type_; |
+ RawAbstractType* bound_; |
+ RawTypeParameter* type_parameter_; // For more detailed error reporting. |
+ RawObject** to() { |
+ return reinterpret_cast<RawObject**>(&ptr()->type_parameter_); |
+ } |
+ bool is_being_checked_; |
+}; |
+ |
+ |
class RawNumber : public RawInstance { |
RAW_OBJECT_IMPLEMENTATION(Number); |
}; |