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

analyze() public method

public analyze ( )
    public function analyze()
    {
        $gremlin = <<<GREMLIN
g.V().hasLabel("Property").out("OBJECT").not(has("code", "\$this")).in("OBJECT")
     .out("PROPERTY").hasLabel("Identifier").map{ it.get().value("code"); }.unique();
GREMLIN;
        $properties = $this->query($gremlin);
        $this->atomIs('Ppp')->hasOut('PUBLIC')->hasNoOut('STATIC')->outIs('PPP')->_as('ppp')->isNot('propertyname', $properties)->back('ppp');
        $this->prepareQuery();
        $gremlin = <<<GREMLIN
g.V().hasLabel("Staticproperty").out("CLASS").has("token", within("T_STRING", "T_NS_SEPARATOR")).not(has("code", within(["self", "static"]))).sideEffect{fnp = it.get().value("fullnspath");}.in("CLASS")
     .out("PROPERTY").hasLabel("Variable").map{ fnp + '::' + it.get().value("code"); }.unique();
GREMLIN;
        $staticproperties = $this->query($gremlin);
        if (count($staticproperties) > 0) {
            $this->atomIs('Ppp')->hasOut('PUBLIC')->hasOut('STATIC')->outIs('PPP')->_as('results')->outIsIE('LEFT')->_as('ppp')->goToClass()->savePropertyAs('fullnspath', 'fnp')->back('ppp')->raw('filter{ !(fnp + "::" + it.get().value("code") in ["' . str_replace('$', '\\$', str_replace("\\", "\\\\", implode('", "', $staticproperties))) . '"] )}')->back('results');
            $this->prepareQuery();
        }
    }
NoPublicAccess