Index: dart/tests/lib/mirrors/metadata_test.dart |
diff --git a/dart/tests/lib/mirrors/metadata_test.dart b/dart/tests/lib/mirrors/metadata_test.dart |
index 973bf34ff7906ec952a05aca85f611c0b772f395..b7e9a3b42fbe96e1f85ee3f88765c870796dde79 100644 |
--- a/dart/tests/lib/mirrors/metadata_test.dart |
+++ b/dart/tests/lib/mirrors/metadata_test.dart |
@@ -13,6 +13,8 @@ const symbol = const Symbol('fisk'); |
@symbol @fisk |
class MyClass { |
+ @fisk @symbol @fisk |
+ myMethod() => 1; |
} |
checkMetadata(DeclarationMirror mirror, List expectedMetadata) { |
@@ -34,6 +36,7 @@ checkMetadata(DeclarationMirror mirror, List expectedMetadata) { |
print(metadata); |
} |
+@symbol @fisk @symbol |
main() { |
if (MirrorSystem.getName(symbol) != 'fisk') { |
// This happened in dart2js due to how early library metadata is |
@@ -45,4 +48,10 @@ main() { |
checkMetadata(mirrors.findLibrary(const Symbol('test.metadata_test')).first, |
[fisk, symbol]); |
checkMetadata(reflect(new MyClass()).type, [symbol, fisk]); |
+ ClosureMirror closure = reflect(main); |
+ checkMetadata(closure.function, [symbol, fisk, symbol]); |
+ closure = reflect(new MyClass().myMethod); |
+ checkMetadata(closure.function, [fisk, symbol, fisk]); |
+ |
+ // TODO(ahe): Test local functions. |
} |