public function analyze()
{
// function used
$functions = $this->query('g.V().hasLabel("Functioncall").values("fullnspath").unique()');
if (!empty($functions)) {
$this->atomIs('Function')->hasNoClassInterfaceTrait()->outIs('NAME')->atomIsNot("Void")->fullnspathIs($functions);
$this->prepareQuery();
}
// function name used in a string (via MarkCallable)
$functionsInStrings = $this->query('g.V().hasLabel("String").values("fullnspath").unique()');
if (!empty($functionsInStrings)) {
$this->atomIs('Function')->hasNoClassInterfaceTrait()->outIs('NAME')->fullnspathIs($functionsInStrings);
$this->prepareQuery();
}
}