public function analyze()
{
$crud = array('INSERT', 'UPDATE', 'DELETE', 'REPLACE');
$crudAlternative = join('|', $crud);
// $wpdb->query('delete from sometable')
$this->atomIs('Variable')->codeIs('$wpdb')->inIs('OBJECT')->atomIs('Methodcall')->_as('results')->outIs('METHOD')->codeIs(array('query', 'prepare'))->outIs('ARGUMENTS')->outWithRank('ARGUMENT', 0)->atomIs('String')->hasNoOut('CONCAT')->regexIs('noDelimiter', '^(?i)(' . $crudAlternative . ')')->back('results');
$this->prepareQuery();
// $wpdb->query("delete from ".$wpdb->prefix."table")
$this->atomIs('Variable')->codeIs('$wpdb')->inIs('OBJECT')->atomIs('Methodcall')->_as('results')->outIs('METHOD')->codeIs(array('query', 'prepare'))->outIs('ARGUMENTS')->outWithRank('ARGUMENT', 0)->atomIs('Concatenation')->outWithRank('CONCAT', 0)->atomIs('String')->regexIs('noDelimiter', '^(?i)(' . $crudAlternative . ')')->back('results');
$this->prepareQuery();
// $wpdb->query("delete from $wpdb->prefix")
$this->atomIs('Variable')->codeIs('$wpdb')->inIs('OBJECT')->atomIs('Methodcall')->_as('results')->outIs('METHOD')->codeIs(array('query', 'prepare'))->outIs('ARGUMENTS')->outWithRank('ARGUMENT', 0)->atomIs('String')->tokenIs('T_QUOTE')->outWithRank('CONCAT', 0)->atomIs('String')->regexIs('noDelimiter', '^(?i)(' . $crudAlternative . ')')->back('results');
$this->prepareQuery();
}