Interface NameResolver.SingleNameResolver<S>
- All Superinterfaces:
NameResolver<S>
- Enclosing interface:
- NameResolver<S>
A base class for resolvers that know at most one symbol for any
given name. This means
resolveHere(String) may delegate
to resolveFirst(String), for implementation simplicity.
This is also a marker interface used to optimise some things
internally.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.sourceforge.pmd.lang.java.symbols.table.coreimpl.NameResolver
NameResolver.SingleNameResolver<S> -
Method Summary
Modifier and TypeMethodDescription@Nullable SresolveFirst(String simpleName) Resolves the first symbol that would be part of the list yielded byNameResolver.resolveHere(String)for the given name.resolveHere(String simpleName) Returns all symbols known by this resolver that have the given simple name.Methods inherited from interface net.sourceforge.pmd.lang.java.symbols.table.coreimpl.NameResolver
isDefinitelyEmpty, knows, toString
-
Method Details
-
resolveHere
Description copied from interface:NameResolverReturns all symbols known by this resolver that have the given simple name. Depending on language semantics, finding several symbols may mean there is ambiguity. If no such symbol is known, returns an empty list.- Specified by:
resolveHerein interfaceNameResolver<S>- Parameters:
simpleName- Simple name
-
resolveFirst
Description copied from interface:NameResolverResolves the first symbol that would be part of the list yielded byNameResolver.resolveHere(String)for the given name. If the list would be empty (no such symbol is known), returns null.- Specified by:
resolveFirstin interfaceNameResolver<S>
-