Exakat\Analyzer\Functions\WrongNumberOfArguments::analyze PHP Метод

analyze() публичный Метод

public analyze ( )
    public function analyze()
    {
        // this is for functions defined within PHP
        $data = new Methods();
        $functions = $data->getFunctionsArgsInterval();
        $argsMins = array();
        $argsMaxs = array();
        foreach ($functions as $function) {
            if ($function['args_min'] > 0) {
                $argsMins[$function['args_min']][] = '\\' . $function['name'];
            }
            if ($function['args_max'] < 100) {
                $argsMaxs[$function['args_max']][] = '\\' . $function['name'];
            }
        }
        foreach ($argsMins as $nb => $f) {
            $this->atomFunctionIs($f)->outIs('ARGUMENTS')->isLess('count', $nb)->back('first');
            $this->prepareQuery();
        }
        foreach ($argsMaxs as $nb => $f) {
            $this->atomFunctionIs($f)->outIs('ARGUMENTS')->isMore('count', $nb)->back('first');
            $this->prepareQuery();
        }
        // this is for custom functions
        $this->atomIs('Functioncall')->hasNoIn('METHOD')->tokenIs(array('T_STRING', 'T_NS_SEPARATOR'))->outIs('ARGUMENTS')->savePropertyAs('count', 'args_count')->inIs('ARGUMENTS')->functionDefinition()->analyzerIsNot('Functions/VariableArguments')->outIs('ARGUMENTS')->isMore('args_min', 'args_count')->back('first');
        $this->prepareQuery();
        $this->atomIs('Functioncall')->hasNoIn('METHOD')->tokenIs(array('T_STRING', 'T_NS_SEPARATOR'))->outIs('ARGUMENTS')->savePropertyAs('count', 'args_count')->inIs('ARGUMENTS')->functionDefinition()->analyzerIsNot('Functions/VariableArguments')->outIs('ARGUMENTS')->isLess('args_max', 'args_count')->back('first');
        $this->prepareQuery();
    }
WrongNumberOfArguments