Consider this code:
class Foo {
List<String> listOfStrings;
}
Using the smoke package, how can I get String
by looking at listOfStrings
?
I see we can get a Declaration
from a Type
, but I don't see how to get the parameterized type from Declaration.
This is important for, among other things, building a serialization library.
That's not currently possible to do in smoke.
It might not even be possible to do with the mirrors API directly either. For example:
import 'dart:mirrors';
class B<T> {}
class A {
static B<int> b = new B<int>();
}
main() {
var x = reflectType(A);
print(x);
print(x.declarations[#b].type);
}
will print B
, but not B<int>
.