org_apache_struts2_oval_interceptor_OValValidationInterceptorTest_java
ognl.OgnlRuntime
public static ArgsCompatbilityReport areArgsCompatible(Class[] args, Class[] classes, Method m) {
        boolean varArgs;
        boolean bl = varArgs = m != null && m.isVarArgs();
        if (args == null || args.length == 0) {
            if (classes == null || classes.length == 0) {
                return NoArgsReport;
            }
            if (varArgs) {
                return NoArgsReport;
            }
            return null;
        }
        if (args.length != classes.length && !varArgs) {
            return null;
        }
        if (varArgs) {
            ArgsCompatbilityReport report = new ArgsCompatbilityReport(1000, new boolean[args.length]);
            if (classes.length - 1 > args.length) {
                return null;
            }
            int count = classes.length - 1;
            for (int index = 0; index < count; ++index) {
                if (OgnlRuntime.isTypeCompatible(args[index], classes[index], index, report)) continue;
                return null;
            }
            Class<?> varArgsType = classes[classes.length - 1].getComponentType();
            int count2 = args.length;
            for (int index = classes.length - 1; index < count2; ++index) {
                if (OgnlRuntime.isTypeCompatible(args[index], varArgsType, index, report)) continue;
                return null;
            }
            return report;
        }
        ArgsCompatbilityReport report = new ArgsCompatbilityReport(0, new boolean[args.length]);
        int count = args.length;
        for (int index = 0; index < count; ++index) {
            if (OgnlRuntime.isTypeCompatible(args[index], classes[index], index, report)) continue;
            return null;
        }
        return report;
    }
 -> java.lang.reflect.Method.isVarArgs(): boolean -> java.lang.Class.isArray(): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isPrimitive(): boolean
 [CALL] -> java.lang.reflect.Method.isVarArgs(): boolean [CALL] [EXIT] [CALL] -> java.lang.Class.isArray(): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isPrimitive(): boolean [EXIT] [EXIT]