Index: pkg/compiler/lib/src/js_emitter/old_emitter/setup_program_builder.dart |
diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/setup_program_builder.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/setup_program_builder.dart |
index 906afaba6e86e85c38748eebb4a25e167463e99e..7d065a3e344647c9e6280fcc49d9f24b9658e687 100644 |
--- a/pkg/compiler/lib/src/js_emitter/old_emitter/setup_program_builder.dart |
+++ b/pkg/compiler/lib/src/js_emitter/old_emitter/setup_program_builder.dart |
@@ -141,7 +141,7 @@ jsAst.Statement buildSetupProgram(Program program, Compiler compiler, |
'deferredActionString': js.string(namer.deferredAction)}; |
String skeleton = ''' |
-function $setupProgramName(programData) { |
+function $setupProgramName(programData, typesOffset) { |
"use strict"; |
if (#needsClassSupport) { |
@@ -694,6 +694,8 @@ function $setupProgramName(programData) { |
var isIntercepted = |
requiredParameterCount + optionalParameterCount != funcs[0].length; |
var functionTypeIndex = ${readFunctionType("array", "2")}; |
+ if (typeof functionTypeIndex == "number") |
+ ${readFunctionType("array", "2")} = functionTypeIndex + typesOffset; |
var unmangledNameIndex = $unmangledNameIndex; |
if (getterStubName) { |