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

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

Issue 11363007: Properties added to MethodMirror (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 7c394ccc97b5a17816534e3553860f36a2e84a42..acf5a8f05245a05c1da5e0bdbb7807a74c4e5aff 100644
--- a/pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart
+++ b/pkg/dartdoc/lib/src/mirrors/dart2js_mirror.dart
@@ -112,9 +112,11 @@ MethodMirror _convertElementMethodToMethodMirror(Dart2JsContainerMirror library,
}
class Dart2JsMethodKind {
- static const Dart2JsMethodKind NORMAL = const Dart2JsMethodKind("normal");
- static const Dart2JsMethodKind CONSTRUCTOR
- = const Dart2JsMethodKind("constructor");
+ static const Dart2JsMethodKind REGULAR = const Dart2JsMethodKind("regular");
+ static const Dart2JsMethodKind GENERATIVE
+ = const Dart2JsMethodKind("generative");
kasperl 2012/10/31 13:35:47 Nit: I'd prefer keeping = on the previous line --
Johnni Winther 2012/10/31 13:49:02 Done.
+ static const Dart2JsMethodKind REDIRECTING
+ = const Dart2JsMethodKind("redirecting");
static const Dart2JsMethodKind CONST = const Dart2JsMethodKind("const");
static const Dart2JsMethodKind FACTORY = const Dart2JsMethodKind("factory");
static const Dart2JsMethodKind GETTER = const Dart2JsMethodKind("getter");
@@ -1322,6 +1324,7 @@ class Dart2JsMethodMirror extends Dart2JsMemberMirror
_displayName = _simpleName;
_simpleName = '$_simpleName=';
} else if (_function.kind == ElementKind.GENERATIVE_CONSTRUCTOR) {
+ // TODO(johnniwinther): Support detection of redirecting constructors.
_constructorName = '';
int dollarPos = _simpleName.indexOf('\$');
if (dollarPos != -1) {
@@ -1335,7 +1338,7 @@ class Dart2JsMethodMirror extends Dart2JsMemberMirror
if (_function.modifiers.isConst()) {
_kind = Dart2JsMethodKind.CONST;
} else {
- _kind = Dart2JsMethodKind.CONSTRUCTOR;
+ _kind = Dart2JsMethodKind.GENERATIVE;
}
_displayName = _simpleName;
} else if (_function.modifiers.isFactory()) {
@@ -1366,7 +1369,7 @@ class Dart2JsMethodMirror extends Dart2JsMemberMirror
// Display name is 'operator operatorName'.
_displayName = 'operator $_operatorName';
} else {
- _kind = Dart2JsMethodKind.NORMAL;
+ _kind = Dart2JsMethodKind.REGULAR;
_displayName = _simpleName;
}
}
@@ -1385,7 +1388,8 @@ class Dart2JsMethodMirror extends Dart2JsMemberMirror
bool get isTopLevel => _objectMirror is LibraryMirror;
bool get isConstructor
- => _kind == Dart2JsMethodKind.CONSTRUCTOR || isConst || isFactory;
+ => isGenerativeConstructor || isConstConstructor ||
+ isFactoryConstructor || isRedirectingConstructor;
bool get isMethod => !isConstructor;
@@ -1403,11 +1407,17 @@ class Dart2JsMethodMirror extends Dart2JsMemberMirror
mirrors, _function.computeSignature(mirrors.compiler).returnType,
mirrors.compiler.types.dynamicType);
- bool get isAbstract => _function.modifiers.isAbstract();
+ bool get isAbstract => _function.isAbstract(mirrors.compiler);
- bool get isConst => _kind == Dart2JsMethodKind.CONST;
+ bool get isRegularMethod => !(isGetter || isSetter || isConstructor);
- bool get isFactory => _kind == Dart2JsMethodKind.FACTORY;
+ bool get isConstConstructor => _kind == Dart2JsMethodKind.CONST;
+
+ bool get isGenerativeConstructor => _kind == Dart2JsMethodKind.GENERATIVE;
+
+ bool get isRedirectingConstructor => _kind == Dart2JsMethodKind.REDIRECTING;
+
+ bool get isFactoryConstructor => _kind == Dart2JsMethodKind.FACTORY;
String get constructorName => _constructorName;
« 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