Definition] * that maps fully qualified symbol names to Definitions (global or not) * * @return \Generator providing Definition[] */ public function getDefinitions(): \Generator; /** * Returns an associative array [string => Definition] that maps fully qualified symbol names * to global Definitions * * @return Definitions[] */ public function getGlobalDefinitions(): array; /** * Returns the Definitions that are in the given namespace * * @param string $namespace * @return Definitions[] */ public function getDefinitionsForNamespace(string $namespace): array; /** * Returns the Definition object by a specific FQN * * @param string $fqn * @param bool $globalFallback Whether to fallback to global if the namespaced FQN was not found * @return Definition|null */ public function getDefinition(string $fqn, bool $globalFallback = false); /** * Returns all URIs in this index that reference a symbol * * @param string $fqn The fully qualified name of the symbol * @return string[] */ public function getReferenceUris(string $fqn): array; }