public function analyze()
{
// class::method()
$this->atomIs('Staticmethodcall')->outIs('METHOD')->savePropertyAs('code', 'name')->back('first')->outIs('CLASS')->codeIsNot(array('parent', 'static', 'self'))->classDefinition()->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Function')->hasOut('PROTECTED')->outIs('NAME')->samePropertyAs('code', 'name')->back('first');
$this->prepareQuery();
// parent::$property
// static or self ::$property
// class::$property
$this->atomIs('Staticproperty')->outIs('PROPERTY')->savePropertyAs('code', 'name')->back('first')->outIs('CLASS')->codeIsNot(array('parent', 'static', 'self'))->classDefinition()->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Ppp')->hasOut('PROTECTED')->outIs('PPP')->outIsIE('LEFT')->samePropertyAs('code', 'name')->back('first');
$this->prepareQuery();
// Non-static methods/properties : ??? Don't know how to do that yet
}