Index: reflectable/lib/src/transformer_implementation.dart |
diff --git a/reflectable/lib/src/transformer_implementation.dart b/reflectable/lib/src/transformer_implementation.dart |
index 1f711742ff91204ea025284e1e1ef7c82158bcb7..3d48625421f14f79ad5f91cc9f7891f35b842556 100644 |
--- a/reflectable/lib/src/transformer_implementation.dart |
+++ b/reflectable/lib/src/transformer_implementation.dart |
@@ -119,8 +119,8 @@ class ClassDomain { |
/// Returns a String with the textual representation of the declarations-map. |
String get declarationsString { |
- Iterable<String> declarationParts = declarations |
- .map((ExecutableElement instanceMember) { |
+ Iterable<String> declarationParts = declarations.map( |
+ (ExecutableElement instanceMember) { |
return '"${instanceMember.name}": ' |
'new MethodMirrorImpl("${instanceMember.name}", ' |
'${_declarationDescriptor(instanceMember)}, this)'; |
@@ -764,9 +764,15 @@ class TransformerImplementation { |
/// is the class modeled by [classElement]. |
String _staticClassMirrorCode(ClassDomain classDomain) { |
String declarationsString = classDomain.declarationsString; |
+ String simpleName = classDomain.classElement.name; |
+ // We include the library-name here until we decide to include |
+ // library-mirrors. |
eernst
2015/06/18 10:15:11
Doesn't the qualified name _always_ include the li
sigurdm
2015/06/18 10:43:40
What I meant was, that an alternative implementati
eernst
2015/06/18 12:07:21
Acknowledged.
|
+ String qualifiedName = |
+ "${classDomain.classElement.library.name}.$simpleName"; |
return """ |
class ${classDomain.staticClassMirrorName} extends ClassMirrorUnimpl { |
- final String simpleName = "${classDomain.classElement.name}"; |
+ final String simpleName = "$simpleName"; |
+ final String qualifiedName = "$qualifiedName"; |
Map<String, MethodMirror> _declarationsCache; |
@@ -1121,6 +1127,8 @@ class ${classDomain.staticClassMirrorName} extends ClassMirrorUnimpl { |
String rest = ""; |
rest += instanceMethodFilter(classDomain.reflectorDomain.capabilities); |
rest += _staticInstanceMirrorInvokeCode(classDomain); |
+ rest += " ClassMirror get type => " |
+ "new ${classDomain.staticClassMirrorName}();\n"; |
// TODO(eernst): add code for other mirror methods than `invoke`. |
return """ |
class ${classDomain.staticInstanceMirrorName} extends InstanceMirrorUnimpl { |