Interface NameResolver.SingleNameResolver<S>
-
- All Superinterfaces:
NameResolver<S>
- Enclosing interface:
- NameResolver<S>
public static interface NameResolver.SingleNameResolver<S> extends NameResolver<S>
A base class for resolvers that know at most one symbol for any given name. This meansresolveHere(String)
may delegate toresolveFirst(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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description @Nullable S
resolveFirst(String simpleName)
Resolves the first symbol that would be part of the list yielded byNameResolver.resolveHere(String)
for the given name.default @NonNull List<S>
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 Detail
-
resolveHere
default @NonNull List<S> resolveHere(String simpleName)
Description copied from interface:NameResolver
Returns 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:
resolveHere
in interfaceNameResolver<S>
- Parameters:
simpleName
- Simple name
-
resolveFirst
@Nullable S resolveFirst(String simpleName)
Description copied from interface:NameResolver
Resolves 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:
resolveFirst
in interfaceNameResolver<S>
-
-