| Index: runtime/vm/precompiler.cc
|
| diff --git a/runtime/vm/precompiler.cc b/runtime/vm/precompiler.cc
|
| index f061da02c6905080a973bca7316e9dec985b45da..1d42c5d104395e6a8732e6d7eb6f0477324abd2b 100644
|
| --- a/runtime/vm/precompiler.cc
|
| +++ b/runtime/vm/precompiler.cc
|
| @@ -591,6 +591,10 @@ void Precompiler::CheckForNewDynamicFunctions() {
|
|
|
| function2 = function.ImplicitClosureFunction();
|
| AddFunction(function2);
|
| +
|
| + // Add corresponding method extractor get:#foo.
|
| + function2 = function.GetMethodExtractor(selector3);
|
| + AddFunction(function2);
|
| }
|
| } else if (Field::IsSetterName(selector)) {
|
| selector2 = Symbols::LookupFromConcat(Symbols::ClosurizePrefix(),
|
| @@ -602,6 +606,10 @@ void Precompiler::CheckForNewDynamicFunctions() {
|
|
|
| function2 = function.ImplicitClosureFunction();
|
| AddFunction(function2);
|
| +
|
| + // Add corresponding method extractor get:#set:foo.
|
| + function2 = function.GetMethodExtractor(selector2);
|
| + AddFunction(function2);
|
| }
|
| } else if (function.kind() == RawFunction::kRegularFunction) {
|
| selector2 = Field::LookupGetterSymbol(selector);
|
| @@ -610,6 +618,10 @@ void Precompiler::CheckForNewDynamicFunctions() {
|
| // Function is foo and somewhere get:foo is called.
|
| function2 = function.ImplicitClosureFunction();
|
| AddFunction(function2);
|
| +
|
| + // Add corresponding method extractor.
|
| + function2 = function.GetMethodExtractor(selector2);
|
| + AddFunction(function2);
|
| }
|
| selector2 = Symbols::LookupFromConcat(Symbols::ClosurizePrefix(),
|
| selector);
|
| @@ -618,6 +630,10 @@ void Precompiler::CheckForNewDynamicFunctions() {
|
| // Function is foo and somewhere get:#foo is called.
|
| function2 = function.ImplicitClosureFunction();
|
| AddFunction(function2);
|
| +
|
| + // Add corresponding method extractor get:#foo
|
| + function2 = function.GetMethodExtractor(selector2);
|
| + AddFunction(function2);
|
| }
|
| }
|
| }
|
|
|