public function analyze() { $data = new Methods(); $methods = $data->getMethodsArgsInterval(); $argsMins = array(); $argsMaxs = array(); // Needs to finish the list of methods and their arguments. // Currently, classes are not checked. foreach ($methods as $method) { if ($method['args_min'] > 0) { $argsMins[$method['args_min']][] = $method['name']; } $argsMaxs[$method['args_max']][] = $method['name']; } // case for methods foreach ($argsMins as $nb => $f) { $this->atomIs(array('Methodcall', 'Staticmethodcall'))->outIs('METHOD')->codeIs($f)->outIs('ARGUMENTS')->isLess('count', $nb)->back('first'); $this->prepareQuery(); } foreach ($argsMaxs as $nb => $f) { $this->atomIs(array('Methodcall', 'Staticmethodcall'))->outIs('METHOD')->codeIs($f)->outIs('ARGUMENTS')->isMore('count', $nb)->back('first'); $this->prepareQuery(); } }