public static boolean isAssignable(Class<?>[] classArray, Class<?>[] toClassArray, final boolean autoboxing) { if (classArray.length != toClassArray.length) return false; for (int i = 0; i < classArray.length; i++) { if (!isAssignable(classArray[i], toClassArray[i], autoboxing)) return false; } return true; }
public static boolean isAssignableFrom(Class<?> supertype, String className, ClassLoader cl) { return isAssignableFrom0(classToSlashed(supertype), classToSlashed(className), cl); }
private static float getTotalTransformationCost(final Class<?>[] srcArgs, final Class<?>[] destArgs) { float totalCost = 0.0f; for (int i = 0; i < srcArgs.length; i++) { Class<?> srcClass, destClass; srcClass = srcArgs[i]; destClass = destArgs[i]; totalCost += getObjectTransformationCost(srcClass, destClass); } return totalCost; }
public static ClassNode getClassNode(String className, ClassLoader cl, boolean skipCode) throws IOException { final ClassNode cn = getClassNode(getClassInputStream(className, cl), skipCode); if (cn == null) throw new IOException("Resource " + classToResource(className) + " not found."); return cn; }
public static <T extends ClassVisitor> T accept(String className, ClassLoader cl, int flags, T visitor) throws IOException { return accept(getClassInputStream(className, cl), flags, visitor); }
public static ClassNode getClassNode(Class<?> clazz, boolean skipCode) throws IOException { return getClassNode(getClassInputStream(clazz), skipCode); }
public static String classToResource(Class<?> clazz) { if (clazz == null) return null; return classToResource(clazz.getName()); }
public static boolean hasAnnotation(Class ann, FieldNode f) { return hasAnnotation(ann, f.visibleAnnotations); }
public static MethodNode getMethod(MethodNode method, ClassNode c) { return getMethod(method, c.methods); }
public static MethodNode getMethod(MethodNode method, List<MethodNode> ms) { if (ms == null) return null; for (MethodNode m : ms) { if (equals(method, m)) return m; } return null; }
public static boolean hasMethod(MethodNode method, ClassNode c) { return hasMethod(method, c.methods); }
public static byte[] getClass(Class<?> klass) throws IOException { try (InputStream is = getClassInputStream(klass)) { return ByteStreams.toByteArray(is); } }
public static boolean isAssignableFrom(String supertypeName, String className, ClassLoader cl) { return isAssignableFrom0(classToSlashed(supertypeName), classToSlashed(className), cl); }
public static <T extends ClassVisitor> T accept(Class<?> clazz, int flags, T visitor) throws IOException { return accept(getClassInputStream(clazz), flags, visitor); }
public static boolean hasAnnotation(String annDesc, ClassNode c) { return hasAnnotation(annDesc, c.visibleAnnotations); }
public static boolean hasMethod(MethodNode method, List<MethodNode> ms) { return getMethod(method, ms) != null; }
public static boolean hasAnnotation(Class ann, MethodNode m) { return hasAnnotation(ann, m.visibleAnnotations); }
public static boolean hasAnnotation(Class ann, ClassNode c) { return hasAnnotation(ann, c.visibleAnnotations); }
public static boolean hasAnnotation(String annDesc, MethodNode m) { return hasAnnotation(annDesc, m.visibleAnnotations); }
public static boolean hasAnnotation(String annDesc, FieldNode f) { return hasAnnotation(annDesc, f.visibleAnnotations); }