public function analyze()
{
$functions = $this->loadIni('constant_usage.ini');
$positions = array(0, 1, 2, 3, 6);
foreach ($positions as $position) {
$this->atomFunctionIs($functions['functions' . $position])->outIs('ARGUMENTS')->outIs('ARGUMENT')->is('rank', $position)->atomIsNot(array('Logical', 'Variable', 'Array', 'Property', 'Identifier', 'Nsname', 'Staticproperty', 'Staticconstant', 'Staticmethodcall', 'Methodcall'))->back('first');
$this->prepareQuery();
$this->atomFunctionIs($functions['functions' . $position])->outIs('ARGUMENTS')->outIs('ARGUMENT')->is('rank', $position)->atomIs('Logical')->raw('where( __.repeat( __.out() ).emit( label().is(without("Identifier", "Nsname", "Parenthesis", "Logical")) ).times(' . self::MAX_LOOPING . ') )')->back('first');
$this->prepareQuery();
}
}