Exakat\Analyzer\Files\DefinitionsOnly::analyze PHP Метод

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

public analyze ( )
    public function analyze()
    {
        $definitionsFunctionsList = "\"\\\\" . implode("\", \"\\\\", self::$definitionsFunctions) . "\"";
        $definitionsList = "\"" . implode("\", \"", self::$definitions) . "\"";
        // one or several namespaces
        $this->atomIs('File')->outIs('FILE')->outIs('ELEMENT')->outIs('CODE')->raw('coalesce( __.out("ELEMENT").hasLabel("Namespace").out("BLOCK"), __.filter{ true; } )')->raw(<<<GREMLIN
where(
    __
      .out("ELEMENT")
      .where( __.hasLabel({$definitionsList}).count().is(eq(0)) )
      .where( __.hasLabel("Function").where( __.out("NAME").hasLabel("Void").count().is(eq(0))).count().is(eq(0)) )
      .where( __.in("ANALYZED").has("analyzer", "Structures/NoDirectAccess").count().is(eq(0)) )
      .where( __.hasLabel("Functioncall").filter{ it.get().value("fullnspath") in [{$definitionsFunctionsList}] }.count().is(eq(0)) )
      .count().is(eq(0))
)

GREMLIN
)->back('first');
        $this->prepareQuery();
    }
DefinitionsOnly