Index: dart/sdk/lib/_internal/lib/js_mirrors.dart |
diff --git a/dart/sdk/lib/_internal/lib/js_mirrors.dart b/dart/sdk/lib/_internal/lib/js_mirrors.dart |
index d5db7e5f505c54dafa04c3d37eddaf99847fd051..1b738d18820e70558ea9f9a021ed6186d7bab1ea 100644 |
--- a/dart/sdk/lib/_internal/lib/js_mirrors.dart |
+++ b/dart/sdk/lib/_internal/lib/js_mirrors.dart |
@@ -491,6 +491,7 @@ class JsMixinApplication extends JsTypeMirror with JsObjectMirror |
implements ClassMirror { |
final ClassMirror superclass; |
final ClassMirror mixin; |
+ Symbol _cachedSimpleName; |
JsMixinApplication(ClassMirror superclass, ClassMirror mixin, |
String mangledName) |
@@ -501,7 +502,11 @@ class JsMixinApplication extends JsTypeMirror with JsObjectMirror |
String get _prettyName => 'ClassMirror'; |
Symbol get simpleName { |
- return s('${n(mixin.qualifiedName)}(${n(superclass.qualifiedName)})'); |
+ if (_cachedSimpleName != null) return _cachedSimpleName; |
+ String superName = n(superclass.qualifiedName); |
+ return _cachedSimpleName = (superName.contains(' with ')) |
+ ? s('$superName, ${n(mixin.qualifiedName)}') |
+ : s('$superName with ${n(mixin.qualifiedName)}'); |
} |
Symbol get qualifiedName => simpleName; |