Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit 13c5091

Browse files
committed
Implemented a temporary fix for http://dartbug.com/11960
1 parent 75a38b8 commit 13c5091

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

lib/mirrors.dart

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,16 @@ reflectStaticField(Type type, String field) {
3030
}
3131

3232
// TODO(pavelgj): cache.
33-
Iterable reflectMetadata(Type type, Type metadata) =>
34-
fastReflectClass(type).metadata.where(
35-
(InstanceMirror im) => im.reflectee.runtimeType == metadata)
36-
.map((InstanceMirror im) => im.reflectee);
33+
Iterable reflectMetadata(Type type, Type metadata) {
34+
var meta;
35+
try {
36+
meta = fastReflectClass(type).metadata;
37+
} catch(e) {
38+
// TODO(pavelgj): A temporary workaround for http://dartbug.com/11960
39+
if (e.message == 'Function.prototype.toString is not generic') {
40+
meta = [];
41+
}
42+
}
43+
return meta.where((InstanceMirror im) => im.reflectee.runtimeType == metadata)
44+
.map((InstanceMirror im) => im.reflectee);
45+
}

0 commit comments

Comments
 (0)