Chromium Code Reviews| 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 { |