| Index: pkg/compiler/lib/src/js_emitter/old_emitter/reflection_data_parser.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/reflection_data_parser.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/reflection_data_parser.dart
|
| index c20a68d91fe92fec7dc94bca531a47a05c80ce06..adedb27a90b186a6466dc6f0a1db54d72e828e58 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/reflection_data_parser.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/reflection_data_parser.dart
|
| @@ -250,7 +250,10 @@ jsAst.Expression getReflectionDataParser(OldEmitter oldEmitter,
|
| if (getterStubName) functions.push(getterStubName);
|
| f.\$stubName = getterStubName;
|
| f.\$callName = null;
|
| - if (isIntercepted) #interceptedNames[getterStubName] = true;
|
| + // Update the interceptedNames map (which only exists if `invokeOn` was
|
| + // enabled).
|
| + if (#enabledInvokeOn)
|
| + if (isIntercepted) #interceptedNames[getterStubName] = 1;
|
| }
|
|
|
| if (#usesMangledNames) {
|
| @@ -280,7 +283,8 @@ jsAst.Expression getReflectionDataParser(OldEmitter oldEmitter,
|
| }
|
| }
|
| }
|
| -''', {'globalFunctions' : globalFunctionsAccess,
|
| +''', {'globalFunctions': globalFunctionsAccess,
|
| + 'enabledInvokeOn': compiler.enabledInvokeOn,
|
| 'interceptedNames': interceptedNamesAccess,
|
| 'usesMangledNames':
|
| compiler.mirrorsLibrary != null || compiler.enabledFunctionApply,
|
| @@ -289,6 +293,9 @@ jsAst.Expression getReflectionDataParser(OldEmitter oldEmitter,
|
|
|
| List<jsAst.Statement> tearOffCode = buildTearOffCode(backend);
|
|
|
| + jsAst.ObjectInitializer interceptedNamesSet =
|
| + oldEmitter.interceptorEmitter.generateInterceptedNamesSet();
|
| +
|
| jsAst.Statement init = js.statement('''{
|
| var functionCounter = 0;
|
| if (!#libraries) #libraries = [];
|
| @@ -297,7 +304,8 @@ jsAst.Expression getReflectionDataParser(OldEmitter oldEmitter,
|
| if (!#statics) #statics = map();
|
| if (!#typeInformation) #typeInformation = map();
|
| if (!#globalFunctions) #globalFunctions = map();
|
| - if (!#interceptedNames) #interceptedNames = map();
|
| + if (#enabledInvokeOn)
|
| + if (!#interceptedNames) #interceptedNames = #interceptedNamesSet;
|
| var libraries = #libraries;
|
| var mangledNames = #mangledNames;
|
| var mangledGlobalNames = #mangledGlobalNames;
|
| @@ -349,7 +357,9 @@ jsAst.Expression getReflectionDataParser(OldEmitter oldEmitter,
|
| 'statics': staticsAccess,
|
| 'typeInformation': typeInformationAccess,
|
| 'globalFunctions': globalFunctionsAccess,
|
| + 'enabledInvokeOn': compiler.enabledInvokeOn,
|
| 'interceptedNames': interceptedNamesAccess,
|
| + 'interceptedNamesSet': interceptedNamesSet,
|
| 'notInCspMode': !compiler.useContentSecurityPolicy,
|
| 'needsClassSupport': oldEmitter.needsClassSupport});
|
|
|
|
|