Chromium Code Reviews| 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) |
|
ahe
2015/01/07 15:31:32
Curly braces?
floitsch
2015/01/07 15:48:12
They would stay, when the if(#hole) is resolved.
|
| + 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}); |