in pojo.go [402:427]
func getStructDefByIndex(idx int) (reflect.Type, *ClassInfo, error) {
var (
ok bool
clsName string
cls *ClassInfo
s *structInfo
)
pojoRegistry.RLock()
defer pojoRegistry.RUnlock()
if len(pojoRegistry.classInfoList) <= idx || idx < 0 {
return nil, cls, perrors.Errorf("illegal class index @idx %d", idx)
}
cls = pojoRegistry.classInfoList[idx]
clsName, ok = pojoRegistry.j2g[cls.javaName]
if !ok {
return nil, cls, perrors.Errorf("can not find java type name %s in registry", cls.javaName)
}
s, ok = pojoRegistry.registry[clsName]
if !ok {
return nil, cls, perrors.Errorf("can not find go type name %s in registry", clsName)
}
return s.typ, cls, nil
}