Exakat\Analyzer\Classes\UsedPrivateProperty::analyze PHP Метод

analyze() публичный Метод

public analyze ( )
    public function analyze()
    {
        // property used in a staticproperty \a\b::$b
        $this->atomIs('Ppp')->hasOut('PRIVATE')->outIs('PPP')->_as('ppp')->outIsIE('LEFT')->savePropertyAs('code', 'property')->goToClassTrait()->hasName()->savePropertyAs('fullnspath', 'classe')->outIs('BLOCK')->raw('where( __.repeat( __.out() ).emit( hasLabel("Staticproperty") ).times(' . self::MAX_LOOPING . ')
                                                           .out("CLASS").filter{ it.get().value("token") in ["T_STRING", "T_NS_SEPARATOR", "T_STATIC" ] }.filter{ it.get().value("fullnspath") == classe }.in("CLASS")
                                                           .out("PROPERTY").filter{ it.get().value("code") == property }
                                                           .count().is(neq(0)) )')->back('ppp');
        $this->prepareQuery();
        // property used in a static property static::$b[] or self::$b[]
        $this->atomIs(array('Class', 'Trait'))->hasName()->savePropertyAs('fullnspath', 'fnp')->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Ppp')->hasOut('PRIVATE')->outIs('PPP')->outIsIE('LEFT')->_as('ppp')->savePropertyAs('code', 'x')->inIsIE('LEFT')->inIs('PPP')->inIs('ELEMENT')->atomInside('Staticproperty')->outIs('CLASS')->tokenIs(array('T_STRING', 'T_NS_SEPARATOR', 'T_STATIC'))->fullnspathIs('fnp')->inIs('CLASS')->outIs('PROPERTY')->atomIs('Array')->outIs('VARIABLE')->samePropertyAs('code', 'x')->back('ppp');
        $this->prepareQuery();
        // property used in a normal methodcall with $this $this->b()
        $this->atomIs(array('Class', 'Trait'))->hasName()->savePropertyAs('fullnspath', 'classname')->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Ppp')->hasOut('PRIVATE')->outIs('PPP')->savePropertyAs('propertyname', 'x')->_as('ppp')->inIs('PPP')->inIs('ELEMENT')->atomInside('Property')->outIs('OBJECT')->codeIs('$this')->inIs('OBJECT')->outIs('PROPERTY')->samePropertyAs('code', 'x')->back('ppp');
        $this->prepareQuery();
    }
UsedPrivateProperty