AsmMethod getMethodOrCreateIt(String key) { AsmMethod method = getMethod(key); if (method != null) { return method; } method = new AsmMethod(this, key); method.setBodyLoaded(false); addMethod(method); return method; }
private boolean isInheritedMethodSignature(AsmClass parent, String key) { if (parent.getSuperClass() != null && (parent.getSuperClass().getMethod(key) != null || isInheritedMethodSignature(parent.getSuperClass(), key))) { return true; } for (AsmClass interfaceClass : parent.getInterfaces()) { if (interfaceClass.getMethod(key) != null || isInheritedMethodSignature(interfaceClass, key)) { return true; } } return false; } }
AsmMethod getMethodOrCreateIt(String key) { AsmMethod method = getMethod(key); if (method != null) { return method; } method = new AsmMethod(this, key); method.setBodyLoaded(false); addMethod(method); return method; }
private static boolean isInheritedMethodSignature(AsmClass parent, String key) { if (parent.getSuperClass() != null && (parent.getSuperClass().getMethod(key) != null || isInheritedMethodSignature(parent.getSuperClass(), key))) { return true; } for (AsmClass interfaceClass : parent.getInterfaces()) { if (interfaceClass.getMethod(key) != null || isInheritedMethodSignature(interfaceClass, key)) { return true; } } return false; } }
private AsmMethod findImplementation(AsmClass asmClass, String methodKey) { AsmMethod method = asmClass.getMethod(methodKey); if (method != null && method.isBodyLoaded()) { return method; } if (asmClass.getSuperClass() != null) { return findImplementation(asmClass.getSuperClass(), methodKey); } return null; }
private static AsmMethod findImplementation(AsmClass asmClass, String methodKey) { AsmMethod method = asmClass.getMethod(methodKey); if (method != null && method.isBodyLoaded()) { return method; } if (asmClass.getSuperClass() != null) { return findImplementation(asmClass.getSuperClass(), methodKey); } return null; }