Exakat\Analyzer\Structures\DynamicCode::analyze PHP Method

analyze() public method

public analyze ( )
    public function analyze()
    {
        // $$v
        $this->atomIs('Variable')->outIs('NAME')->tokenIsNot('T_STRING')->back('first');
        $this->prepareQuery();
        // $o->$p
        $this->atomIs('Property')->outIs('PROPERTY')->tokenIsNot(array('T_STRING', 'T_NS_SEPARATOR'))->back('first');
        $this->prepareQuery();
        // $o->$p();
        $this->atomIs('Methodcall')->outIs('METHOD')->tokenIsNot(array('T_STRING', 'T_NS_SEPARATOR'))->back('first');
        $this->prepareQuery();
        //$classname::methodcall();
        $this->atomIs('Staticmethodcall')->outIs('CLASS')->tokenIsNot(array('T_STRING', 'T_NS_SEPARATOR', 'T_STATIC'))->codeIsNot(array('self', 'parent'))->back('first');
        $this->prepareQuery();
        //classname::$methodcall();
        $this->atomIs('Staticmethodcall')->outIs('METHOD')->outIs('NAME')->tokenIsNot(array('T_STRING', 'T_NS_SEPARATOR'))->back('first');
        $this->prepareQuery();
        //$functioncall(2,3,3);
        //new $classname(); (also done here)
        $this->atomIs('Functioncall')->hasNoIn('METHOD')->outIs('NAME')->tokenIsNot(array('T_STRING', 'T_NS_SEPARATOR', 'T_ISSET', 'T_ARRAY', 'T_EMPTY', 'T_LIST', 'T_UNSET', 'T_ARRAY', 'T_OPEN_BRACKET', 'T_ECHO', 'T_PRINT', 'T_EXIT'))->back('first');
        $this->prepareQuery();
        // class_alias, extract and parse_url
        $this->atomFunctionIs(array('\\class_alias', '\\extract', '\\parse_str'));
        $this->prepareQuery();
    }
DynamicCode