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 8911a689052d16f099f2a8ed153d56ba3b311d55..17057ecf48b14650bfc0c598a77a5a067fc92673 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; |