Index: dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
diff --git a/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart b/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
index ffcef0aaa14649092eae8a3783f870ed1184801d..3477d3190d94f649dd21c1224abc294114b6272d 100644 |
--- a/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
+++ b/dart/sdk/lib/_internal/compiler/implementation/lib/mirrors_patch.dart |
@@ -37,8 +37,12 @@ class _MirrorSystem implements MirrorSystem { |
Uri uri = Uri.parse(data[1]); |
List<String> classes = data[2]; |
List<String> functions = data[3]; |
+ var metadataFunction = data[4]; |
+ List metadata = |
+ (metadataFunction == null) ? null : JS('List', '#()', metadataFunction); |
kasperl
2013/05/29 06:25:06
Long line.
ahe
2013/05/30 11:41:15
Done.
|
var libraries = result.putIfAbsent(name, () => <LibraryMirror>[]); |
- libraries.add(new _LibraryMirror(_s(name), uri, classes, functions)); |
+ libraries.add( |
+ new _LibraryMirror(_s(name), uri, classes, functions, metadata)); |
} |
return result; |
} |
@@ -54,8 +58,13 @@ class _LibraryMirror extends _ObjectMirror implements LibraryMirror { |
final Uri uri; |
final List<String> _classes; |
final List<String> _functions; |
+ final List _metadata; |
- _LibraryMirror(this.simpleName, this.uri, this._classes, this._functions); |
+ _LibraryMirror(this.simpleName, |
+ this.uri, |
+ this._classes, |
+ this._functions, |
+ this._metadata); |
Symbol get qualifiedName => simpleName; |
@@ -127,6 +136,8 @@ class _LibraryMirror extends _ObjectMirror implements LibraryMirror { |
variables.forEach(addToResult); |
return result; |
} |
+ |
+ List<InstanceMirror> get metadata => _metadata.map(reflect); |
} |
String _n(Symbol symbol) => _symbol_dev.Symbol.getName(symbol); |