Exakat\Analyzer\Classes\DefinedParentMP::analyze PHP Method

analyze() public method

public analyze ( )
    public function analyze()
    {
        $isComposerClass = 'where( __.out("EXTENDS").in("ANALYZED").has("analyzer", "Composer/IsComposerNsname").count().is(eq(1)) )';
        $isPhpClass = 'where( __.out("EXTENDS").in("ANALYZED").has("analyzer", "Classes/IsExtClass").count().is(eq(1)) )';
        // parent::method()
        $this->atomIs('Staticmethodcall')->outIs('METHOD')->savePropertyAs('code', 'name')->inIs('METHOD')->outIs('CLASS')->codeIs('parent')->goToClass()->goToAllParents()->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Function')->hasNoOut('PRIVATE')->outIs('NAME')->samePropertyAs('code', 'name')->back('first');
        $this->prepareQuery();
        // handle composer case
        $this->atomIs('Staticmethodcall')->outIs('METHOD')->savePropertyAs('code', 'name')->inIs('METHOD')->outIs('CLASS')->codeIs('parent')->goToClass()->raw($isComposerClass)->back('first');
        $this->prepareQuery();
        $this->atomIs('Staticmethodcall')->outIs('METHOD')->savePropertyAs('code', 'name')->inIs('METHOD')->outIs('CLASS')->codeIs('parent')->goToClass()->goToAllParents()->raw($isComposerClass)->back('first');
        $this->prepareQuery();
        // Case of PHP class
        $this->atomIs('Staticmethodcall')->outIs('METHOD')->savePropertyAs('code', 'name')->inIs('METHOD')->outIs('CLASS')->codeIs('parent')->goToClass()->raw($isPhpClass)->back('first');
        $this->prepareQuery();
        $this->atomIs('Staticmethodcall')->outIs('METHOD')->savePropertyAs('code', 'name')->inIs('METHOD')->outIs('CLASS')->codeIs('parent')->goToClass()->goToAllParents()->raw($isPhpClass)->back('first');
        $this->prepareQuery();
        // parent::$property
        $this->atomIs('Staticproperty')->outIs('PROPERTY')->savePropertyAs('code', 'name')->inIs('PROPERTY')->outIs('CLASS')->codeIs('parent')->goToClass()->goToAllParents()->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Ppp')->hasNoOut('PRIVATE')->outIs('PPP')->outIsIE('LEFT')->samePropertyAs('code', 'name')->back('first');
        $this->prepareQuery();
        // handle composer case
        $this->atomIs('Staticproperty')->outIs('PROPERTY')->savePropertyAs('code', 'name')->inIs('PROPERTY')->outIs('CLASS')->codeIs('parent')->goToClass()->raw($isComposerClass)->back('first');
        $this->prepareQuery();
        $this->atomIs('Staticproperty')->outIs('PROPERTY')->savePropertyAs('code', 'name')->inIs('PROPERTY')->outIs('CLASS')->codeIs('parent')->goToClass()->goToAllParents()->raw($isComposerClass)->back('first');
        $this->prepareQuery();
        $this->atomIs('Staticproperty')->outIs('PROPERTY')->savePropertyAs('code', 'name')->inIs('PROPERTY')->outIs('CLASS')->codeIs('parent')->goToClass()->raw($isPhpClass)->back('first');
        $this->prepareQuery();
        $this->atomIs('Staticproperty')->outIs('PROPERTY')->savePropertyAs('code', 'name')->inIs('PROPERTY')->outIs('CLASS')->codeIs('parent')->goToClass()->goToAllParents()->raw($isPhpClass)->back('first');
        $this->prepareQuery();
        // defined in traits (via use)
        $this->atomIs('Property')->outIs('OBJECT')->codeIs('$this')->inIs('OBJECT')->outIs('PROPERTY')->savePropertyAs('code', 'property')->goToClass()->goToTraits()->outIs('BLOCK')->outIs('ELEMENT')->atomIs('Ppp')->outIs('PPP')->back('first');
        $this->prepareQuery();
    }
DefinedParentMP