| Index: pkg/compiler/lib/src/js_backend/enqueuer.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/enqueuer.dart b/pkg/compiler/lib/src/js_backend/enqueuer.dart
|
| index 12872d80622124507de99af4142a4b51700c66b0..a9736b81f1ceb5facc4a84c74f67b4725e68f36b 100644
|
| --- a/pkg/compiler/lib/src/js_backend/enqueuer.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/enqueuer.dart
|
| @@ -25,6 +25,7 @@ import '../elements/elements.dart'
|
| LibraryElement,
|
| Member,
|
| MemberElement,
|
| + MethodElement,
|
| Name,
|
| TypedElement,
|
| TypedefElement;
|
| @@ -210,11 +211,7 @@ class CodegenEnqueuer implements Enqueuer {
|
| addToWorkList(function);
|
| return;
|
| }
|
| - // Store the member in [instanceFunctionsByName] to catch
|
| - // getters on the function.
|
| - instanceFunctionsByName
|
| - .putIfAbsent(memberName, () => new Set<Element>())
|
| - .add(member);
|
| + _registerInstanceMethod(function);
|
| if (_universe.hasInvocation(function, _world)) {
|
| addToWorkList(function);
|
| return;
|
| @@ -246,6 +243,14 @@ class CodegenEnqueuer implements Enqueuer {
|
| .add(member);
|
| }
|
|
|
| + // Store the member in [instanceFunctionsByName] to catch
|
| + // getters on the function.
|
| + void _registerInstanceMethod(MethodElement element) {
|
| + instanceFunctionsByName
|
| + .putIfAbsent(element.name, () => new Set<Element>())
|
| + .add(element);
|
| + }
|
| +
|
| void enableIsolateSupport() {}
|
|
|
| void processInstantiatedClass(ClassElement cls) {
|
| @@ -535,6 +540,9 @@ class CodegenEnqueuer implements Enqueuer {
|
| case StaticUseKind.CONST_CONSTRUCTOR_INVOKE:
|
| registerTypeUse(new TypeUse.instantiation(staticUse.type));
|
| break;
|
| + case StaticUseKind.DIRECT_INVOKE:
|
| + _registerInstanceMethod(staticUse.element);
|
| + break;
|
| }
|
| if (addElement) {
|
| addToWorkList(element);
|
|
|