Exakat\Analyzer\Arrays\ShouldPreprocess::analyze PHP Метод

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

public analyze ( )
    public function analyze()
    {
        $variables = array('Variable', 'Property', 'Staticproperty');
        // $a = array(); $a[1] = 2;
        $this->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs('Variable')->savePropertyAs('fullcode', 'tableau')->inIs('LEFT')->outIs('RIGHT')->functioncallIs('\\array')->inIs('RIGHT')->nextSibling()->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs('Array')->outIs('VARIABLE')->samePropertyAs('fullcode', 'tableau')->back('first');
        $this->prepareQuery();
        // $a->b = array(); $a->b[1] = 2;
        $this->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs(array('Property', 'Staticproperty'))->outIs(array('OBJECT', 'CLASS'))->savePropertyAs('fullcode', 'object')->inIs(array('OBJECT', 'CLASS'))->outIs('PROPERTY')->savePropertyAs('fullcode', 'property')->inIs('PROPERTY')->inIs('LEFT')->outIs('RIGHT')->functioncallIs('\\array')->inIs('RIGHT')->nextSibling()->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs('Array')->outIs('VARIABLE')->atomIs(array('Property', 'Staticproperty'))->outIs(array('OBJECT', 'CLASS'))->samePropertyAs('fullcode', 'object')->inIs(array('OBJECT', 'CLASS'))->outIs('PROPERTY')->samePropertyAs('fullcode', 'property')->back('first');
        $this->prepareQuery();
        // same as above with $array[]
        // in case this is the first one in the sequence
        $this->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs($variables)->savePropertyAs('fullcode', 'tableau')->inIs('LEFT')->outIs('RIGHT')->functioncallIs('\\array')->inIs('RIGHT')->nextSibling()->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs('Arrayappend')->outIs('APPEND')->samePropertyAs('fullcode', 'tableau')->back('first');
        $this->prepareQuery();
        // $a->b = array(); $a->b[] = 2;
        $this->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs('Property')->outIs('OBJECT')->savePropertyAs('fullcode', 'object')->inIs('OBJECT')->outIs('PROPERTY')->savePropertyAs('fullcode', 'property')->inIs('PROPERTY')->inIs('LEFT')->outIs('RIGHT')->functioncallIs('\\array')->inIs('RIGHT')->nextSibling()->atomIs('Assignation')->codeIs('=')->outIs('LEFT')->atomIs('Property')->outIs('OBJECT')->samePropertyAs('fullcode', 'object')->inIs('OBJECT')->outIs('PROPERTY')->atomIs('Arrayappend')->outIs('APPEND')->samePropertyAs('fullcode', 'property')->back('first');
        $this->prepareQuery();
    }
ShouldPreprocess