Index: runtime/vm/object.h |
diff --git a/runtime/vm/object.h b/runtime/vm/object.h |
index 8027aaf3c7ceb46e7b2ecfb99ce3f3682a702934..612a80b0b66b581dcdde0b5ec7a6e42abc434aac 100644 |
--- a/runtime/vm/object.h |
+++ b/runtime/vm/object.h |
@@ -206,7 +206,7 @@ class Symbols; |
friend class StackFrame; \ |
// This macro is used to denote types that do not have a sub-type. |
-#define FINAL_HEAP_OBJECT_IMPLEMENTATION(object, super) \ |
+#define FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, rettype, super) \ |
public: /* NOLINT */ \ |
void operator=(Raw##object* value) { \ |
raw_ = value; \ |
@@ -226,10 +226,16 @@ class Symbols; |
static intptr_t NextFieldOffset() { \ |
return -kWordSize; \ |
} \ |
- SNAPSHOT_READER_SUPPORT(object) \ |
+ SNAPSHOT_READER_SUPPORT(rettype) \ |
friend class Isolate; \ |
friend class StackFrame; \ |
+#define FINAL_HEAP_OBJECT_IMPLEMENTATION(object, super) \ |
+ FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, object, super) \ |
+ |
+#define MINT_OBJECT_IMPLEMENTATION(object, rettype, super) \ |
+ FINAL_HEAP_OBJECT_IMPLEMENTATION_HELPER(object, rettype, super) \ |
+ |
class Object { |
public: |
virtual ~Object() { } |
@@ -5552,7 +5558,7 @@ class Mint : public Integer { |
private: |
void set_value(int64_t value) const; |
- FINAL_HEAP_OBJECT_IMPLEMENTATION(Mint, Integer); |
+ MINT_OBJECT_IMPLEMENTATION(Mint, Integer, Integer); |
friend class Class; |
}; |