| 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 841256fcdef04300ae501d986caa1ef652de3cc1..115ec4fef9eeb1c0b53c6eb916aa9a59f471ea3e 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
|
| @@ -22,6 +22,9 @@ const RANGE3_ADJUST =
|
| - (FIRST_FIELD_CODE + RANGE1_SIZE + RANGE2_SIZE - RANGE3_FIRST);
|
|
|
| const String setupProgramName ='setupProgram';
|
| +// TODO(floitsch): make sure this property can't clash with anything. It's
|
| +// unlikely since it lives on types, but still.
|
| +const String typeNameProperty = r'builtin$cls';
|
|
|
| jsAst.Statement buildSetupProgram(Program program, Compiler compiler,
|
| JavaScriptBackend backend,
|
| @@ -237,10 +240,10 @@ function $setupProgramName(programData, typesOffset) {
|
| body += "this." + #deferredActionString + "();";
|
| }
|
| str += ") {\\n" + body + "}\\n";
|
| + str += name + ".$typeNameProperty=\\"" + name + "\\";\\n";
|
| str += "\$desc=\$collectedClasses." + name + "[1];\\n";
|
| str += name + ".prototype = \$desc;\\n";
|
| if (typeof defineClass.name != "string") {
|
| - // IE does not store the name, but allows to modify the property.
|
| str += name + ".name=\\"" + name + "\\";\\n";
|
| }
|
| if (#hasIsolateSupport) {
|
|
|