Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1527)

Unified Diff: pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart

Issue 11340044: FieldMirror => VariableMirror (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/dartdoc/lib/mirrors.dart ('k') | tests/compiler/dart2js/mirrors_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart
diff --git a/pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart b/pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart
index 146d5e03e3ded8b18c8abf8e5d62c5e3468599e9..37c689f82a75896edbdfcda19fb047422201ac98 100644
--- a/pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart
+++ b/pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart
@@ -478,14 +478,54 @@ class Dart2JsMirrorSystem implements MirrorSystem, Dart2JsMirror {
abstract class Dart2JsObjectMirror extends Dart2JsElementMirror
implements ObjectMirror {
+ Map<String, MemberMirror> _members;
+
Dart2JsObjectMirror(Dart2JsMirrorSystem system, Element element)
: super(system, element);
+
+ abstract void _ensureMembers();
+
+ Map<String, MemberMirror> get declaredMembers {
+ _ensureMembers();
+ return new ImmutableMapWrapper<String, MemberMirror>(_members);
+ }
+
+ Map<String, Mirror> get members => declaredMembers;
+
+ Map<String, MethodMirror> get functions {
+ _ensureMembers();
+ return new AsFilteredImmutableMap<String, MemberMirror, MethodMirror>(
ahe 2012/10/31 08:20:08 This code is really hard to read. Generally, you c
+ _members,
+ (MemberMirror member) => member is MethodMirror);
+ }
+
+ Map<String, MethodMirror> get getters {
+ _ensureMembers();
+ return new AsFilteredImmutableMap<String, MemberMirror, MethodMirror>(
+ _members,
+ (MemberMirror member) =>
+ member is MethodMirror && (member as MethodMirror).isGetter);
+ }
+
+ Map<String, MethodMirror> get setters {
+ _ensureMembers();
+ return new AsFilteredImmutableMap<String, MemberMirror, MethodMirror>(
+ _members,
+ (MemberMirror member) =>
+ member is MethodMirror && (member as MethodMirror).isSetter);
+ }
+
+ Map<String, VariableMirror> get variables {
+ _ensureMembers();
+ return new AsFilteredImmutableMap<String, MemberMirror, VariableMirror>(
+ _members,
+ (MemberMirror member) => member is VariableMirror);
+ }
}
class Dart2JsLibraryMirror extends Dart2JsObjectMirror
implements LibraryMirror {
Map<String, ClassMirror> _classes;
- Map<String, MemberMirror> _members;
Dart2JsLibraryMirror(Dart2JsMirrorSystem system, LibraryElement library)
: super(system, library);
@@ -528,8 +568,9 @@ class Dart2JsLibraryMirror extends Dart2JsObjectMirror
_classes = <String, ClassMirror>{};
_library.forEachLocalMember((Element e) {
if (e.isClass()) {
- e.ensureResolved(system.compiler);
- var type = new Dart2JsClassMirror.fromLibrary(this, e);
+ ClassElement classElement = e;
+ classElement.ensureResolved(system.compiler);
+ var type = new Dart2JsClassMirror.fromLibrary(this, classElement);
assert(invariant(_library, !_classes.containsKey(type.simpleName),
message: "Type name '${type.simpleName}' "
"is not unique in $_library."));
@@ -560,31 +601,6 @@ class Dart2JsLibraryMirror extends Dart2JsObjectMirror
}
}
- Map<String, MemberMirror> get declaredMembers {
- _ensureMembers();
- return new ImmutableMapWrapper<String, MemberMirror>(_members);
- }
-
- Map<String, Mirror> get members => declaredMembers;
-
- Map<String, MethodMirror> get functions {
- _ensureMembers();
- return new FilteredImmutableMap(_members,
- (MemberMirror member) => member is MethodMirror);
- }
-
- Map<String, MethodMirror> get getters {
- _ensureMembers();
- return new FilteredImmutableMap(_members,
- (MemberMirror member) => member is MethodMirror && member.isGetter);
- }
-
- Map<String, MethodMirror> get setters {
- _ensureMembers();
- return new FilteredImmutableMap(_members,
- (MemberMirror member) => member is MethodMirror && member.isSetter);
- }
-
Map<String, ClassMirror> get classes {
_ensureClasses();
return new ImmutableMapWrapper<String, ClassMirror>(_classes);
@@ -671,7 +687,7 @@ class Dart2JsParameterMirror extends Dart2JsElementMirror
bool get isInitializingFormal => false;
- FieldMirror get initializedField => null;
+ VariableMirror get initializedField => null;
}
class Dart2JsFieldParameterMirror extends Dart2JsParameterMirror {
@@ -696,7 +712,7 @@ class Dart2JsFieldParameterMirror extends Dart2JsParameterMirror {
bool get isInitializingFormal => true;
- FieldMirror get initializedField => new Dart2JsFieldMirror(
+ VariableMirror get initializedField => new Dart2JsFieldMirror(
_method.owner, _fieldParameterElement.fieldElement);
}
@@ -706,7 +722,6 @@ class Dart2JsFieldParameterMirror extends Dart2JsParameterMirror {
class Dart2JsClassMirror extends Dart2JsObjectMirror
implements Dart2JsTypeMirror, ClassMirror {
final Dart2JsLibraryMirror library;
- Map<String, Dart2JsMemberMirror> _members;
List<TypeVariableMirror> _typeVariables;
Dart2JsClassMirror(Dart2JsMirrorSystem system, ClassElement _class)
@@ -748,29 +763,12 @@ class Dart2JsClassMirror extends Dart2JsObjectMirror
}
}
- Map<String, MemberMirror> get declaredMembers {
- _ensureMembers();
- return new ImmutableMapWrapper<String, MemberMirror>(_members);
- }
-
- Map<String, Mirror> get members => declaredMembers;
-
- Map<String, MethodMirror> get methods {
- _ensureMembers();
- return new FilteredImmutableMap(_members,
- (MemberMirror member) => member is MethodMirror);
- }
-
- Map<String, MethodMirror> get getters {
- _ensureMembers();
- return new FilteredImmutableMap(_members,
- (MemberMirror member) => member is MethodMirror && member.isGetter);
- }
+ Map<String, MethodMirror> get methods => functions;
- Map<String, MethodMirror> get setters {
+ Map<String, MethodMirror> get constructors {
_ensureMembers();
- return new FilteredImmutableMap(_members,
- (MemberMirror member) => member is MethodMirror && member.isSetter);
+ return new AsFilteredImmutableMap<String, MemberMirror, MethodMirror>(
+ _members, (m) => m.isConstructor ? m : null);
}
bool get isObject => _class == system.compiler.objectClass;
@@ -831,12 +829,6 @@ class Dart2JsClassMirror extends Dart2JsObjectMirror
return _typeVariables;
}
- Map<String, MethodMirror> get constructors {
- _ensureMembers();
- return new AsFilteredImmutableMap<String, MemberMirror, MethodMirror>(
- _members, (m) => m.isConstructor ? m : null);
- }
-
/**
* Returns the default type for this interface.
*/
@@ -1047,6 +1039,8 @@ abstract class Dart2JsTypeElementMirror extends Dart2JsProxyMirror
Map<String, MethodMirror> get setters => const <String, MethodMirror>{};
+ Map<String, VariableMirror> get variables => const <String, VariableMirror>{};
+
ClassMirror get defaultFactory => null;
}
@@ -1121,6 +1115,9 @@ class Dart2JsInterfaceTypeMirror extends Dart2JsTypeElementMirror
// TODO(johnniwinther): Substitute type arguments for type variables.
Map<String, MethodMirror> get getters => originalDeclaration.getters;
+ // TODO(johnniwinther): Substitute type arguments for type variables.
+ Map<String, VariableMirror> get variables => originalDeclaration.variables;
+
// TODO(johnniwinther): Substitute type arguments for type variables?
ClassMirror get defaultFactory => originalDeclaration.defaultFactory;
@@ -1425,7 +1422,7 @@ class Dart2JsMethodMirror extends Dart2JsElementMirror
}
class Dart2JsFieldMirror extends Dart2JsElementMirror
- implements Dart2JsMemberMirror, FieldMirror {
+ implements Dart2JsMemberMirror, VariableMirror {
Dart2JsObjectMirror _objectMirror;
VariableElement _variable;
« no previous file with comments | « pkg/dartdoc/lib/mirrors.dart ('k') | tests/compiler/dart2js/mirrors_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698