private void parseTypeDetailInfo()

in tools/erlanalysis/src/main/java/org/apache/dubbo/erlang/analysis/parse/CommonTypeInfo.java [74:105]


    private void parseTypeDetailInfo(Type type) {
        CommonTypeItem typeItem = new CommonTypeItem();
        typeItem.setClassName(type.getClassName());
        Class classObj = null;
        try {
            classObj = Class.forName(type.getClassName(), false, Thread.currentThread().getContextClassLoader());
            Field[] fields = classObj.getDeclaredFields();
            for (Field field : fields) {
                try {
                    PropertyDescriptor propertyDesc = new PropertyDescriptor(field.getName(), classObj);
                    if (propertyDesc.getReadMethod() == null && propertyDesc.getWriteMethod() == null) {
                        continue;
                    }
                } catch (IntrospectionException e) {
                    logger.warn("get field property error", e);
                    continue;
                }
                CommonTypeFieldInfo fieldInfo = new CommonTypeFieldInfo();
                fieldInfo.setFieldName(field.getName());
                fieldInfo.setFieldType(field.getType());
                typeItem.addField(fieldInfo);
                //判断该类型是否需要继续解析
                parseTypeinfo(field.getType().getName());
            }
            commonTypeList.put(type.getClassName(), typeItem);
            logger.debug("parse type detail success {}", type.getClassName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }


    }