createMirror static method
Implementation
static InstanceMirror createMirror(Type clazz, Container container) {
final clazzDeclaration = reflectClass(clazz);
final injectableMirror = reflectClass(Injectable);
var instance = clazzDeclaration.newInstance(const Symbol(''), []);
clazzDeclaration.declarations.forEach((key, value) {
value.metadata.forEach((meta) {
if (meta.type == injectableMirror) {
final injectable = (meta.reflectee as Injectable);
final key = injectable.containerKey;
final containerValue = container.make(key);
instance.setField(value.simpleName, containerValue);
}
});
});
return instance;
}