| Index: runtime/vm/object.h
|
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h
|
| index d59cd8264f749f1158f690b0a983ce27145034f3..17fe0c36f15ab9b5fb046c1caeb6434267ccefac 100644
|
| --- a/runtime/vm/object.h
|
| +++ b/runtime/vm/object.h
|
| @@ -1156,6 +1156,16 @@ class Function : public Object {
|
| RawCode* closure_allocation_stub() const;
|
| void set_closure_allocation_stub(const Code& value) const;
|
|
|
| + RawFunction* method_extractor() const;
|
| + void set_method_extractor(const Function& 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 {
|
| @@ -1572,6 +1582,11 @@ class ClosureData: public Object {
|
| }
|
| void set_closure_allocation_stub(const Code& value) const;
|
|
|
| + RawFunction* method_extractor() const {
|
| + return raw_ptr()->method_extractor_;
|
| + }
|
| + void set_method_extractor(const Function& value) const;
|
| +
|
| static RawClosureData* New();
|
|
|
| HEAP_OBJECT_IMPLEMENTATION(ClosureData, Object);
|
|
|