Index: runtime/vm/dart_api_message.h |
diff --git a/runtime/vm/dart_api_message.h b/runtime/vm/dart_api_message.h |
index 84d44a8cf35b10df13be9350e1156eec2f9a11b7..37877c72d551323a083aa331761d4e9dd9b530b8 100644 |
--- a/runtime/vm/dart_api_message.h |
+++ b/runtime/vm/dart_api_message.h |
@@ -20,7 +20,22 @@ struct Dart_CObject_Internal : public Dart_CObject { |
enum Type { |
kTypeArguments = Dart_CObject::kNumberOfTypes, |
kDynamicType, |
+ kClass, |
+ kView, |
+ kUninitialized, |
}; |
+ struct Dart_CObject_Internal* cls; |
+ union { |
+ struct { |
+ struct _Dart_CObject* library_url; |
+ struct _Dart_CObject* class_name; |
+ } as_class; |
+ struct { |
+ struct _Dart_CObject* buffer; |
+ int offset_in_bytes; |
+ int length; |
+ } as_view; |
+ } internal; |
}; |
@@ -79,6 +94,11 @@ class ApiMessageReader : public BaseReader { |
Dart_CObject* AllocateDartCObjectUint8Array(intptr_t length); |
// Allocates a C array of Dart_CObject objects. |
Dart_CObject* AllocateDartCObjectArray(intptr_t length); |
+ // Allocates a Dart_CObject_Internal object with the specified type. |
+ Dart_CObject_Internal* AllocateDartCObjectInternal( |
+ Dart_CObject_Internal::Type type); |
+ // Allocates a Dart_CObject_Internal object for a class object. |
+ Dart_CObject_Internal* AllocateDartCObjectClass(); |
// Allocates a backwards reference node. |
BackRefNode* AllocateBackRefNode(Dart_CObject* ref, DeserializeState state); |