return (GenericClass) reflector.forName(classMeta.getClassName());
}
String className = classMeta.getClassName();
// look up from generic class table.
GenericClass genericClass = lookupGenericClass(className);
if (genericClass != null) {
return genericClass;
}
GenericClass genericSuperClass = null;
ClassInfo superClassMeta = classMeta.getSuperClass();
if (superClassMeta != null) {
genericSuperClass = classMetaToGenericClass(reflector,
superClassMeta);
}
genericClass = new GenericClass(reflector, null, className,
genericSuperClass);
registerGenericClass(className, genericClass);
FieldInfo[] fields = classMeta.getFields();
GenericField[] genericFields = new GenericField[fields.length];
for (int i = 0; i < fields.length; ++i) {
ClassInfo fieldClassMeta = fields[i].getFieldClass();
String fieldName = fields[i].getFieldName();
GenericClass genericFieldClass = classMetaToGenericClass(reflector,
fieldClassMeta);
genericFields[i] = new GenericField(fieldName, genericFieldClass,
fields[i]._isPrimitive, fields[i]._isArray, fields[i]._isNArray);
}