/*一、检查类是否已经被加载过,避免重复扫描同一个类*/
if (this.classInfoMap.containsKey(className) == true) {
return this.classInfoMap.get(className);
}
/*二、使用 ClassReader 读取类的基本信息*/
ClassReader classReader = new ClassReader(inStream);
className = classReader.getClassName().replace('/', '.');
/*三、读取类的(名称、父类、接口、注解)信息*/
final ClassInfo info = new ClassInfo();
classReader.accept(new ClassVisitor(Opcodes.ASM4) {
@Override
public void visit(final int version, final int access, final String name, final String signature, final String superName, final String[] interfaces) {
//1.读取基本信息
info.className = name.replace('/', '.');
if (superName != null) {