public static boolean areArgsCompatible()

in src/main/java/org/apache/commons/ognl/OgnlRuntime.java [578:612]


    public static boolean areArgsCompatible( Object[] args, Class<?>[] classes, Method method )
    {
        boolean result = true;
        boolean varArgs = method != null && method.isVarArgs();

        if ( args.length != classes.length && !varArgs )
        {
            result = false;
        }
        else if ( varArgs )
        {
            for ( int index = 0; result && ( index < args.length ); ++index )
            {
                if ( index >= classes.length )
                {
                    break;
                }

                result = isTypeCompatible( args[index], classes[index] );

                if ( !result && classes[index].isArray() )
                {
                    result = isTypeCompatible( args[index], classes[index].getComponentType() );
                }
            }
        }
        else
        {
            for ( int index = 0; result && ( index < args.length ); ++index )
            {
                result = isTypeCompatible( args[index], classes[index] );
            }
        }
        return result;
    }