dataModelType = (MetaClass) mp.getType().getParameterizedType().getTypeParameters()[0];
dataBinderRef = inst.getInjectionContext().getInlineBeanReference(mp);
inst.ensureMemberExposed();
}
else {
final MetaField field = (MetaField) allInjectors.iterator().next();
assertTypeIsDataBinder(field.getType());
dataModelType = (MetaClass) field.getType().getParameterizedType().getTypeParameters()[0];
dataBinderRef = Stmt.invokeStatic(inst.getInjectionContext().getProcessingContext().getBootstrapClass(),
PrivateAccessUtil.getPrivateFieldInjectorName(field),
Variable.get(inst.getInjector().getInstanceVarName()));
inst.getInjectionContext().addExposedField(field, PrivateAccessType.Both);
}
}
else {
final MetaClass declaringClass = inst.getInjector().getInjectedType();
for (final MetaField field : declaringClass.getFields()) {
if (field.isAnnotationPresent(AutoBound.class)) {
assertTypeIsDataBinder(field.getType());
dataModelType = (MetaClass) field.getType().getParameterizedType().getTypeParameters()[0];
dataBinderRef = Stmt.invokeStatic(inst.getInjectionContext().getProcessingContext().getBootstrapClass(),
PrivateAccessUtil.getPrivateFieldInjectorName(field),
Variable.get(inst.getInjector().getInstanceVarName()));
inst.getInjectionContext().addExposedField(field, PrivateAccessType.Both);
break;