public function analyze()
{
// Staticmethodcall
// Inside the class
$this->atomIs('Staticmethodcall')->hasClass()->outIs('CLASS')->tokenIs(array('T_STRING', 'T_NS_SEPARATOR'))->codeIsNot(array('self', 'parent', 'static'))->savePropertyAs('fullnspath', 'fnp')->goToClass()->notSamePropertyAs('fullnspath', 'fnp')->raw('where( __.emit().repeat( __.out("EXTENDS").in("DEFINITION") ).times(' . self::MAX_LOOPING . ')
.filter{ it.get().value("fullnspath") == fnp }
.count().is(eq(0))
)')->back('first');
$this->prepareQuery();
// All non-in-class calls are OK
$this->atomIs('Staticmethodcall')->hasNoClass()->hasNoTrait()->outIs('CLASS')->back('first');
$this->prepareQuery();
}