Index: runtime/vm/object.h |
diff --git a/runtime/vm/object.h b/runtime/vm/object.h |
index 4d70090ad66de813a7ee693f871fccd01b32ffda..745a912a9aa1a310d78579ce5a9d3c4dea9065a4 100644 |
--- a/runtime/vm/object.h |
+++ b/runtime/vm/object.h |
@@ -699,6 +699,7 @@ class Class : public Object { |
RawArray* functions() const { return raw_ptr()->functions_; } |
void SetFunctions(const Array& value) const; |
+ void AddFunction(const Function& function) const; |
void AddClosureFunction(const Function& function) const; |
RawFunction* LookupClosureFunction(intptr_t token_pos) const; |
@@ -1195,6 +1196,13 @@ class Function : public Object { |
RawCode* closure_allocation_stub() const; |
void set_closure_allocation_stub(const Code& value) const; |
+ void set_extracted_method_closure(const Function& function) const; |
+ RawFunction* extracted_method_closure() const; |
+ |
+ bool IsMethodExtractor() const { |
+ return kind() == RawFunction::kMethodExtractor; |
+ } |
+ |
// Returns true iff an implicit closure function has been created |
// for this function. |
bool HasImplicitClosureFunction() const { |
@@ -1237,6 +1245,7 @@ class Function : public Object { |
case RawFunction::kSetterFunction: |
case RawFunction::kImplicitGetter: |
case RawFunction::kImplicitSetter: |
+ case RawFunction::kMethodExtractor: |
return true; |
case RawFunction::kClosureFunction: |
case RawFunction::kConstructor: |