Source:
public ClassHolder parseClass(ClassNode node) { ClassHolder cls = new ClassHolder(referenceCache.getCached(node.name.replace('/', '.'))); parseModifiers(node.access, cls, DECL_CLASS); if (node.superName != null) { cls.setParent(referenceCache.getCached(node.superName.replace('/', '.'))); } if (cls.getName().equals("java.lang.Object")) { cls.setParent(null); } if (node.interfaces != null) { for (String iface : node.interfaces) { cls.getInterfaces().add(referenceCache.getCached(iface.replace('/', '.'))); } } if (node.signature != null) { parseSignature(cls, node.signature); } for (Object obj : node.fields) { FieldNode fieldNode = (FieldNode) obj; FieldHolder field = parseField(fieldNode); cls.addField(field); field.updateReference(referenceCache); } String fullFileName = referenceCache.getCached(node.name.substring(0, node.name.lastIndexOf('/') + 1) + node.sourceFile); for (MethodNode methodNode : node.methods) { MethodHolder method = parseMethod(methodNode, fullFileName); cls.addMethod(method); method.updateReference(referenceCache); } if (node.outerClass != null) { cls.setOwnerName(node.outerClass.replace('/', '.')); } if (node.innerClasses != null && !node.innerClasses.isEmpty()) { for (InnerClassNode innerClassNode : node.innerClasses) { if (node.name.equals(innerClassNode.name)) { if (innerClassNode.outerName != null) { cls.setDeclaringClassName(innerClassNode.outerName.replace('/', '.')); cls.setOwnerName(cls.getDeclaringClassName()); } cls.setSimpleName(innerClassNode.innerName); break; } } } if (node.sourceFile != null) { cls.setSourceFile(node.sourceFile); } parseAnnotations(cls.getAnnotations(), node.visibleAnnotations, node.invisibleAnnotations); return cls; }

Target:
public ClassHolder parseClass(ClassNode node) { ClassHolder cls = new ClassHolder(referenceCache.getCached(node.name.replace('/', '.'))); parseModifiers(node.access, cls, DECL_CLASS); if (node.superName != null) { cls.setParent(referenceCache.getCached(node.superName.replace('/', '.'))); } if (cls.getName().equals("java.lang.Object")) { cls.setParent(null); } if (node.interfaces != null) { for (String iface : node.interfaces) { cls.getInterfaces().add(referenceCache.getCached(iface.replace('/', '.'))); } } if (node.signature != null) { parseSignature(cls, node.signature); } for (Object obj : node.fields) { FieldNode fieldNode = (FieldNode) obj; FieldHolder field = parseField(fieldNode); cls.addField(field); field.updateReference(referenceCache); } String fullFileName = referenceCache.getCached(node.name.substring(0, node.name.lastIndexOf('/') + 1) + node.sourceFile); for (MethodNode methodNode : node.methods) { MethodHolder method = parseMethod(methodNode, fullFileName); cls.addMethod(method); method.updateReference(referenceCache); } if (node.outerClass != null) { cls.setOwnerName(node.outerClass.replace('/', '.')); } if (node.innerClasses != null && !node.innerClasses.isEmpty()) { for (InnerClassNode innerClassNode : node.innerClasses) { if (node.name.equals(innerClassNode.name)) { if (innerClassNode.outerName != null) { cls.setDeclaringClassName(innerClassNode.outerName.replace('/', '.')); cls.setOwnerName(cls.getDeclaringClassName()); } cls.setSimpleName(innerClassNode.innerName); break; } } } parseAnnotations(cls.getAnnotations(), node.visibleAnnotations, node.invisibleAnnotations); return cls; }