Index: dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
diff --git a/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart b/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
index 02a8b4c0c4f37d36bcd0705cb71ada21574fe96e..8946f13ef186f88eb125730b74ef08e4d69f2f6b 100644 |
--- a/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
+++ b/dart/sdk/lib/_internal/compiler/implementation/js_backend/emitter.dart |
@@ -1371,6 +1371,10 @@ class CodeEmitterTask extends CompilerTask { |
Element element = elementOrSelector; |
if (element.isGenerativeConstructorBody()) { |
return null; |
+ } else if (element.isClass()) { |
+ ClassElement cls = element; |
+ if (cls.isUnnamedMixinApplication) return null; |
+ return cls.name.slowToString(); |
} |
throw compiler.internalErrorOnElement( |
element, 'Do not know how to reflect on this $element'); |
@@ -1981,8 +1985,8 @@ class CodeEmitterTask extends CompilerTask { |
buffer.write('$className:$_'); |
buffer.write(jsAst.prettyPrint(builder.toObjectInitializer(), compiler)); |
if (backend.shouldRetainName(classElement.name)) { |
- buffer.write(',$n$n"+${classElement.name.slowToString()}": 0'); |
- recordedMangledNames.add(className); |
+ String reflectionName = getReflectionName(classElement, className); |
+ buffer.write(',$n$n"+$reflectionName": 0'); |
} |
} |