Chromium Code Reviews| Index: pkg/docgen/lib/src/models/annotation.dart |
| diff --git a/pkg/docgen/lib/src/models/annotation.dart b/pkg/docgen/lib/src/models/annotation.dart |
| index 0cc97c6e20f37077e667136ab2648cdd5097020a..0b226a1586e3a4d77a99794480c5392aba9f3b51 100644 |
| --- a/pkg/docgen/lib/src/models/annotation.dart |
| +++ b/pkg/docgen/lib/src/models/annotation.dart |
| @@ -13,23 +13,26 @@ import 'library.dart'; |
| import 'mirror_based.dart'; |
| /// Holds the name of the annotation, and its parameters. |
| -class Annotation extends MirrorBased { |
| +class Annotation extends MirrorBased<ClassMirror> { |
|
kevmoo
2014/04/20 21:34:54
Added a generic param to MirrorBased to improve ty
|
| /// The class of this annotation. |
| final ClassMirror mirror; |
| final Library owningLibrary; |
| - List<String> parameters; |
| + final List<String> parameters; |
| Annotation(InstanceMirror originalMirror, this.owningLibrary) |
| - : mirror = originalMirror.type { |
| - parameters = dart2js_util.variablesOf(originalMirror.type.declarations) |
| - .where((e) => e.isFinal) |
| - .map((e) => originalMirror.getField(e.simpleName).reflectee) |
| - .where((e) => e != null) |
| - .toList(); |
| - } |
| + : mirror = originalMirror.type, |
| + parameters = _createParamaters(originalMirror); |
|
kevmoo
2014/04/20 21:34:54
popped this mountain of code into a helper
|
| Map toMap() => { |
| 'name': getDocgenObject(mirror, owningLibrary).docName, |
| 'parameters': parameters |
| }; |
| } |
| + |
| +List<String> _createParamaters(InstanceMirror originalMirror) { |
| + return dart2js_util.variablesOf(originalMirror.type.declarations) |
| + .where((e) => e.isFinal) |
| + .map((e) => originalMirror.getField(e.simpleName).reflectee) |
| + .where((e) => e != null) |
| + .toList(); |
| +} |