| Index: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| index 42964981eca200ad857463ff3152d117c3b2ce2d..37653a1ddf8467edd22f9153a89dfc3f3bfab602 100644
|
| --- a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| +++ b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
|
| @@ -282,7 +282,7 @@ class OldEmitter implements Emitter {
|
| return backend.rti.representationGenerator.templateForIsFunctionType;
|
|
|
| case JsBuiltin.rawRtiToJsConstructorName:
|
| - return jsAst.js.expressionTemplateFor("#.$typeNameProperty");
|
| + return jsAst.js.expressionTemplateFor("#.name");
|
|
|
| case JsBuiltin.rawRuntimeType:
|
| return jsAst.js.expressionTemplateFor("#.constructor");
|
| @@ -299,7 +299,7 @@ class OldEmitter implements Emitter {
|
| "('$isPrefix' + #) in #.prototype");
|
|
|
| case JsBuiltin.isGivenTypeRti:
|
| - return jsAst.js.expressionTemplateFor('#.$typeNameProperty === #');
|
| + return jsAst.js.expressionTemplateFor('#.name === #');
|
|
|
| case JsBuiltin.getMetadata:
|
| String metadataAccess =
|
| @@ -1025,10 +1025,10 @@ class OldEmitter implements Emitter {
|
|
|
| cspPrecompiledFunctionFor(outputUnit).add(js.statement(r'''
|
| {
|
| - #constructorName.#typeNameProperty = #constructorNameString;
|
| - // IE does not have a name property.
|
| - if (!("name" in #constructorName))
|
| - #constructorName.name = #constructorNameString;
|
| + if (typeof #constructorName.name != "string") {
|
| + // IE does not store the name, but allows to modify the property.
|
| + #constructorName.name = #constructorNameString;
|
| + }
|
| $desc = $collectedClasses$.#constructorName[1];
|
| #constructorName.prototype = $desc;
|
| ''' /* next string is not a raw string */ '''
|
| @@ -1037,7 +1037,6 @@ class OldEmitter implements Emitter {
|
| }
|
| }''',
|
| {"constructorName": constructorName,
|
| - "typeNameProperty": typeNameProperty,
|
| "constructorNameString": js.quoteName(constructorName),
|
| "hasIsolateSupport": hasIsolateSupport,
|
| "fieldNamesArray": fieldNamesArray}));
|
|
|