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

Unified Diff: tests/lib/mirrors/stringify.dart

Issue 23020025: Implement ParameterMirror.{isFinal,hasDefaultValue,defaultValue}. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 4 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
Index: tests/lib/mirrors/stringify.dart
diff --git a/tests/lib/mirrors/stringify.dart b/tests/lib/mirrors/stringify.dart
index 977877238b7875e6206e434e048e45d35bbb5098..ddb066848300d952dd656d86f3a065218b50647b 100644
--- a/tests/lib/mirrors/stringify.dart
+++ b/tests/lib/mirrors/stringify.dart
@@ -37,6 +37,14 @@ stringifyIterable(Iterable list) {
return '[$buffer]';
}
+stringifyInstance(InstanceMirror instance) {
+ var buffer = new StringBuffer();
+ if (instance.hasReflectee) {
+ buffer.write('value = ${stringify(instance.reflectee)}');
+ }
+ return 'Instance(${buffer})';
+}
+
stringifySymbol(Symbol symbol) => 's(${MirrorSystem.getName(symbol)})';
writeDeclarationOn(DeclarationMirror mirror, StringBuffer buffer) {
@@ -66,11 +74,10 @@ stringifyParameter(ParameterMirror parameter) {
writeVariableOn(parameter, buffer);
if (parameter.isOptional) buffer.write(', optional');
if (parameter.isNamed) buffer.write(', named');
- // TODO(6490,12430): Add this check as soon as it's properly implemented in
- // the VM and dart2js.
- // if (parameter.hasDefaultValue) {
- // buffer.write(', value = ${stringify(parameter.defaultValue)}');
- // }
+ // TODO(6490): dart2js always returns false for hasDefaultValue.
+ if (parameter.hasDefaultValue) {
+ buffer.write(', value = ${stringify(parameter.defaultValue)}');
+ }
// TODO(ahe): Move to writeVariableOn.
buffer.write(', type = ${stringify(parameter.type)}');
return 'Parameter($buffer)';
@@ -101,9 +108,12 @@ stringifyMethod(MethodMirror method) {
stringify(value) {
if (value is Map) return stringifyMap(value);
if (value is Iterable) return stringifyIterable(value);
+ if (value is InstanceMirror) return stringifyInstance(value);
if (value is ParameterMirror) return stringifyParameter(value);
if (value is VariableMirror) return stringifyVariable(value);
if (value is MethodMirror) return stringifyMethod(value);
+ if (value is num) return value.toString();
+ if (value is String) return value;
if (value is Symbol) return stringifySymbol(value);
if (value is ClassMirror) return stringifyClass(value);
if (value is TypeMirror) return stringifyType(value);
« tests/lib/mirrors/parameter_dart_test.dart ('K') | « tests/lib/mirrors/parameter_dart_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698