| Index: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (revision 26986)
|
| +++ sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (working copy)
|
| @@ -369,7 +369,9 @@
|
| if (element.isParameter()
|
| || element.isFieldParameter()
|
| || element.isField()) {
|
| - element = element.enclosingElement;
|
| + if (!canBeUsedForGlobalOptimizations(element.enclosingElement)) {
|
| + return false;
|
| + }
|
| }
|
| element = element.declaration;
|
| return !isNeededForReflection(element) && !helpersUsed.contains(element);
|
| @@ -954,6 +956,11 @@
|
| enqueueInResolution(getFallThroughError(), elements);
|
| }
|
|
|
| + void enableNoSuchMethod(Enqueuer world) {
|
| + enqueue(world, getCreateInvocationMirror(), compiler.globalDependencies);
|
| + world.registerInvocation(compiler.noSuchMethodSelector);
|
| + }
|
| +
|
| void registerSuperNoSuchMethod(TreeElements elements) {
|
| enqueueInResolution(getCreateInvocationMirror(), elements);
|
| enqueueInResolution(
|
|
|