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

analyze() public method

public analyze ( )
    public function analyze()
    {
        $modifiedVar = 'where( __.repeat( out() ).emit( hasLabel("Variable") ).times(' . self::MAX_LOOPING . ').hasLabel("Variable")
                                 .filter{ it.get().value("code") == name}
                                 .where( __.in("ANALYZED").has("analyzer", "Variables/IsModified").count().is(eq(1)) )
                                 .count().is(eq(0)) )';
        // case of a variable
        $this->atomIs('Foreach')->outIs('VALUE')->outIsIE('RIGHT')->is('reference', true)->savePropertyAs('code', 'name')->inIs('VALUE')->outIs('BLOCK')->raw($modifiedVar)->back('first');
        $this->prepareQuery();
    }
ForeachReferenceIsNotModified