public function analyze()
{
// inline operators $a->$b->$c;
$this->atomIs('Property')->savePropertyAs('line', 'line')->outIs('OBJECT')->atomIs(array('Property', 'Methodcall', 'Staticproperty', 'Staticmethodcall', 'Staticconstant'))->samePropertyAs('line', 'line')->outIs('OBJECT')->codeIsNot('$this')->back('first');
$this->prepareQuery();
$this->atomIs('Methodcall')->savePropertyAs('line', 'line')->outIs('OBJECT')->atomIs(array('Property', 'Methodcall', 'Staticproperty', 'Staticmethodcall', 'Staticconstant'))->samePropertyAs('line', 'line')->outIs('OBJECT')->codeIsNot('$this')->back('first');
$this->prepareQuery();
$this->atomIs('Staticmethodcall')->savePropertyAs('line', 'line')->outIs('OBJECT')->atomIs(array('Property', 'Methodcall', 'Staticproperty', 'Staticmethodcall', 'Staticconstant'))->samePropertyAs('line', 'line')->outIs('OBJECT')->codeIsNot('$this')->back('first');
$this->prepareQuery();
$this->atomIs('Staticproperty')->savePropertyAs('line', 'line')->outIs('OBJECT')->atomIs(array('Property', 'Methodcall', 'Staticproperty', 'Staticmethodcall', 'Staticconstant'))->samePropertyAs('line', 'line')->outIs('OBJECT')->codeIsNot('$this')->back('first');
$this->prepareQuery();
}