public function findTokens($file, FileTokens $fileTokens) { $notFound = sprintf('Failed to find $capabilities in %s file', $fileTokens->file); $statements = $this->parser->parseFile($file); $assign = $this->filter->findFirstVariableAssignment($statements, 'capabilities', $notFound); if (!$assign->expr instanceof Array_) { throw new \RuntimeException(sprintf('The $capabilities variable is not set to an array in %s file', $fileTokens->file)); } foreach ($this->filter->arrayStringKeys($assign->expr) as $key) { $fileTokens->compare($key); } }
public function findTokens($file, FileTokens $fileTokens) { $statements = $this->parser->parseFile($file); foreach ($this->filter->filterAssignments($statements) as $assign) { // Looking for a assignment to an array key, EG: $string['something']. if ($assign->var instanceof ArrayDimFetch) { // Grab the array index. $arrayIndex = $assign->var->dim; if ($arrayIndex instanceof String_) { $fileTokens->compare($arrayIndex->value); } } } }