Class IdentifierIndex<I extends PatriciaTrie<Set<Identifier>>>
java.lang.Object
io.github.douira.glsl_transformer.ast.query.index.IdentifierIndex<I>
- All Implemented Interfaces:
Index<Identifier>,PrefixQueryable<Identifier>
public class IdentifierIndex<I extends PatriciaTrie<Set<Identifier>>>
extends Object
implements Index<Identifier>, PrefixQueryable<Identifier>
Indexes identifiers based on their content and enabled fast string queries.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(Identifier node) getAncestors(String k, Class<T> clazz) booleanvoidmerge(IdentifierIndex<?> other) prefixQuery(String key) prefixQueryFlat(String key) voidremove(Identifier node) booleanRenames all identifiers with one name to have a new name.static IdentifierIndex<PermutermTrie<Identifier>>static IdentifierIndex<PrefixTrie<Identifier>>static IdentifierIndex<PrefixSuffixTrie<Identifier>>
-
Field Details
-
index
-
-
Constructor Details
-
IdentifierIndex
-
-
Method Details
-
add
- Specified by:
addin interfaceIndex<I extends PatriciaTrie<Set<Identifier>>>
-
remove
- Specified by:
removein interfaceIndex<I extends PatriciaTrie<Set<Identifier>>>
-
merge
-
get
-
getStream
-
getAncestors
-
getReferenceExpressions
-
getOneReferenceExpression
-
getOne
-
has
-
rename
Renames all identifiers with one name to have a new name. Since this deals only with identifiers, this can be done by moving the set of identifiers around as a whole.- Parameters:
oldName- the old namenewName- the new name- Returns:
- Whether anything was renamed
-
prefixMap
-
prefixQuery
- Specified by:
prefixQueryin interfacePrefixQueryable<I extends PatriciaTrie<Set<Identifier>>>
-
prefixQueryFlat
- Specified by:
prefixQueryFlatin interfacePrefixQueryable<I extends PatriciaTrie<Set<Identifier>>>
-
withPrefix
-
withPrefixSuffix
-
withPermuterm
-