Index

A B C D E F G H I J L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

add(TokenFilter<T>) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
Adds a token filter to the collection of subfilters.
add(PartialParseTreeListener) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
Adds the given listener to the list of event notification recipients.
add(Interval) - Method in class io.github.douira.glsl_transformer.print.CachingIntervalSet
Adds the given interval to the set.
addAll(MultiFilter<T>) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
Adds all subfilters contained in an other multi filter to this multi filter's collection of subfilters.
addAll(Collection<? extends TokenFilter<T>>) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
Adds a collection of token filters to the collection of subfilters.
addChild(int, ParseTree) - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Adds a child to the list of children with at the given index.
addConcurrent(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Registers a single lifecycle user with this execution planner.
addDependency(LifecycleUser<T>, LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Creates a dependency relationship between two nodes.
addDependent(LifecycleUser<T>, LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Creates a dependency relationship between two nodes.
addEndDependent(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependent to the end node.
addReplacement(String, String, Function<GLSLParser, ExtendedContext>) - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Adds a replacement target that replaces matching terminal nodes with new nodes parsed from the given string using a specified parser method.
addReplacementExpression(String, String) - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Adds a replacement target that replaces matching terminal nodes with new expression nodes parsed from the given string.
addReplacementTerminal(String, String) - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Adds a replacement target that replaces matching terminal nodes with new unparsed string nodes.
addRootDependency(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependency to the root node.
addTarget(HandlerTarget<T>) - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Adds a target for processing.
afterWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
This method is called after the tree walk was performed.
allowInexactMatches() - Method in class io.github.douira.glsl_transformer.core.SearchTerminals
Makes this search phase not use exact matching.
ANY_TYPE - Static variable in class io.github.douira.glsl_transformer.core.SearchTerminals
The token type that matches any terminal token.
appendDependent(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependency between the end node and all of its dependents.
ASTNode - Class in io.github.douira.glsl_transformer.ast
The AST node is a terminal node that can be printed with a method implemented by subclasses.
ASTNode() - Constructor for class io.github.douira.glsl_transformer.ast.ASTNode
 

B

BEFORE_DECLARATIONS - Enum constant in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Before declarations like layout and struct, before function definitions
BEFORE_DIRECTIVES - Enum constant in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Before non-extension parsed #-directives such as #pragma, before declarations and function definitions.
BEFORE_EOF - Enum constant in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Before the end of the file, basically the last possible location
BEFORE_EXTENSIONS - Enum constant in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Before the #extension statement, before other directives, declarations and function definitions
BEFORE_FUNCTIONS - Enum constant in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Before function definitions
BEFORE_VERSION - Enum constant in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Before the #version statement (and all other syntax features by necessity)
beforeWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsDynamic
 
beforeWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
This method is called before the tree walk is performed.
BOOL - Enum constant in enum class io.github.douira.glsl_transformer.ast.Tensor.NumberType
boolean bit usage

C

CachingIntervalSet - Class in io.github.douira.glsl_transformer.print
The caching interval set is a regular interval set IntervalSet but the @link org.antlr.v4.runtime.misc.IntervalSet#contains(int)} method also does caching of the queries if the set has been set to readonly.
CachingIntervalSet() - Constructor for class io.github.douira.glsl_transformer.print.CachingIntervalSet
 
canWalk() - Method in class io.github.douira.glsl_transformer.core.target.HandlerTarget
 
canWalk() - Method in class io.github.douira.glsl_transformer.transform.RunPhase
 
canWalk() - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Called during planning in order to determine if this phase does any walking at all or if it just runs some code, like a RunPhase.
canWalk() - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
 
chainConcurrentDependency(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependency to the last added dependent.
chainConcurrentDependent(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependent to the last added dependency.
chainConcurrentSibling(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds the same node as a dependent to the last added dependency and as a dependency to the last added dependent.
chainDependency(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependency to the last added dependency.
chainDependent(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependent to the last added dependent.
ChannelFilter<T extends JobParameters> - Class in io.github.douira.glsl_transformer.print.filter
The channel filter accepts all tokens that are not from a lexer channel that is on the given list of disallowed channels.
ChannelFilter(TokenChannel) - Constructor for class io.github.douira.glsl_transformer.print.filter.ChannelFilter
Creates a new channel filter with a single disallowed channel.
ChannelFilter(EnumSet<TokenChannel>) - Constructor for class io.github.douira.glsl_transformer.print.filter.ChannelFilter
Creates a new channel filter with the given disallowed channels.
checkBeforeWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.RunPhase
 
checkBeforeWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Method called by the execution planner before the walk happens.
checkBeforeWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
 
checkChildRelevant(Class<?>) - Method in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Checks if the given class of the child of an external declaration makes the external declaration one that should be injected before.
clone() - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a shallow clone of this multi filter.
COMMENTS - Enum constant in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
The custom comments channel
compactName() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the compactName record component.
CompatUtil - Class in io.github.douira.glsl_transformer.util
This class contains utility methods that allow maintaining Java 8 API compatability.
CompatUtil() - Constructor for class io.github.douira.glsl_transformer.util.CompatUtil
 
compilePath(String) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Compiles the given string as an xpath with the parser.
compilePattern(String, int) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Compiles the given string as a parse tree matching pattern what starts matching at the given parser rule.
contains(int) - Method in class io.github.douira.glsl_transformer.print.CachingIntervalSet
Copied from ANTLR's IntervalSet.contains(int) but with an addition of caching.
createLocalRoot(String, ExtendedContext, Function<GLSLParser, RuleType>) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Parses the given string using the given parser method.
createTerminalNode(ParserRuleContext, Token) - Method in class io.github.douira.glsl_transformer.tree.ExtendedParser
 

D

DEFAULT - Enum constant in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
The default channel
DEFAULT - Static variable in class io.github.douira.glsl_transformer.traversal.DynamicParseTreeWalker
The default instance of the dynamic parse tree walker.
DEFINE - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#define
Directive - Class in io.github.douira.glsl_transformer.ast
This class models unparsed directives with the # sign.
Directive() - Constructor for class io.github.douira.glsl_transformer.ast.Directive
Creates a new directive of the empty type.
Directive(Directive.Type, String) - Constructor for class io.github.douira.glsl_transformer.ast.Directive
Crates a new directive with the given directive type and content after the directive name.
Directive.Type - Enum Class in io.github.douira.glsl_transformer.ast
The types of directives that can be generated.
DynamicParseTreeWalker - Class in io.github.douira.glsl_transformer.traversal
The dynamic parse tree walker can handle some structural modification of a node's child array.
DynamicParseTreeWalker() - Constructor for class io.github.douira.glsl_transformer.traversal.DynamicParseTreeWalker
 

E

EDBeforeTypes - Variable in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
A set of the rule contexts that can make up an external declaration that each injection point needs to inject before.
ELIF - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#elif
ELSE - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#else
EMPTY - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
# (without a name and without content)
EmptyTerminalNode - Class in io.github.douira.glsl_transformer.print
The empty terminal node is a placeholder in parse tree children lists in order to prevent exceptions from being thrown because the parse tree walker expects child lists not to change length during iteration.
EmptyTerminalNode() - Constructor for class io.github.douira.glsl_transformer.print.EmptyTerminalNode
Creates a new empty terminal node.
EmptyTerminalNode(TreeMember) - Constructor for class io.github.douira.glsl_transformer.print.EmptyTerminalNode
Creates a new empty terminal node with a given previous node.
ENDIF - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#endif
enterEveryRule(ParserRuleContext) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
 
equals(JobParameters) - Method in class io.github.douira.glsl_transformer.transform.FixedWrappedParameters
Suppresses warnings because the cast results in an object where we don't care what the content of the type parameter T is since we're doing an object comparison anyways.
equals(JobParameters) - Method in class io.github.douira.glsl_transformer.transform.JobParameters
Requires the implementation of the equals method.
equals(JobParameters) - Method in class io.github.douira.glsl_transformer.transform.NonFixedJobParameters
 
equals(Object) - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Indicates whether some other object is "equal to" this one.
equals(Object) - Method in class io.github.douira.glsl_transformer.transform.JobParameters
 
ERROR - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#error
ExcludeFromJacocoGeneratedReport - Annotation Interface in io.github.douira.glsl_transformer.util
This annotation causes the annotated method to be excluded from the jacoco coverage report.
ExecutionPlanner<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
The execution planner finds a valid way of satisfying the root transformation's dependencies.
ExecutionPlanner() - Constructor for class io.github.douira.glsl_transformer.transform.ExecutionPlanner
 
exitEveryRule(ParserRuleContext) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
 
explicitName() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the explicitName record component.
ExtendedContext - Class in io.github.douira.glsl_transformer.tree
Implements custom behavior in parse rule contexts.
ExtendedContext() - Constructor for class io.github.douira.glsl_transformer.tree.ExtendedContext
Creates a new extended parser rule context without a parent.
ExtendedContext(ParserRuleContext, int) - Constructor for class io.github.douira.glsl_transformer.tree.ExtendedContext
Creates a new extended parser rule context.
ExtendedParser - Class in io.github.douira.glsl_transformer.tree
This class is used as the base parser class in code generated by ANTLR.
ExtendedParser(TokenStream) - Constructor for class io.github.douira.glsl_transformer.tree.ExtendedParser
Creates a new extended parser.
ExtendedTerminalNode - Class in io.github.douira.glsl_transformer.tree
The extended terminal node has additional functionality over the regular terminal node.
ExtendedTerminalNode() - Constructor for class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
Creates a null-token and parentless terminal node.
ExtendedTerminalNode(ExtendedContext) - Constructor for class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
Creates a null-token terminal node that has an extended context as a parent.
ExtendedTerminalNode(ParserRuleContext, Token) - Constructor for class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
Creates a new extended terminal node with a parent node and a token as the symbol.

F

FilterTokenSource - Class in io.github.douira.glsl_transformer.transform
The filter token source wraps another token source but reads tokens from it until a given filter accepts one.
FilterTokenSource(TokenSource) - Constructor for class io.github.douira.glsl_transformer.transform.FilterTokenSource
Creates a new filtering token source with a given token source to wrap.
findAndMatch(ParseTree, XPath, ParseTreePattern) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
This method uses a statically constructed xpath, so it doesn't need to be repeatedly constructed.
findNeedle(String, HandlerTarget<T>) - Method in class io.github.douira.glsl_transformer.core.SearchTerminals
Checks if the given content contains a needle.
finishEditingTree() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Marks editing on the whole tree as finished.
FixedWrappedParameters<T> - Class in io.github.douira.glsl_transformer.transform
The default WrappedParameters implementation uses the NonFixedJobParameters which means that it never produces cached execution plans.
FixedWrappedParameters(T) - Constructor for class io.github.douira.glsl_transformer.transform.FixedWrappedParameters
Creates a new job parameter wrapper.
FLOATING - Enum constant in enum class io.github.douira.glsl_transformer.ast.Tensor.NumberType
floating point bit usage
fromExpression(String, String, String, RunPhase<T>) - Static method in class io.github.douira.glsl_transformer.core.WrapIdentifier
Creates a new wrap identifier transformation that uses a parsed replace target that replaces identifiers with an expression.
fromTerminal(String, String, RunPhase<T>) - Static method in class io.github.douira.glsl_transformer.core.WrapIdentifier
Creates a new wrap identifier transformation that uses an unparsed terminal replace target.

G

getCharPositionInLine() - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
 
getChildIndexLike(Class<? extends ParseTree>) - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Finds the index of the first contained child that matches the given type.
getCompactName() - Method in class io.github.douira.glsl_transformer.ast.Tensor
Returns the compact name of the contained type.
getContent() - Method in class io.github.douira.glsl_transformer.ast.StringNode
Returns the string node's content.
getContents() - Method in class io.github.douira.glsl_transformer.transform.FixedWrappedParameters
Returns the wrapped job parameters.
getContents() - Method in class io.github.douira.glsl_transformer.transform.WrappedParameters
Returns the wrapped job parameters.
getExplicitName() - Method in class io.github.douira.glsl_transformer.ast.Tensor
Returns the explicit name of the contained type.
getFullSourceInterval() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Gets the source interval for this local root that includes the whole token stream with unparsed tokens before and after the parsed tokens that this node encompasses.
getInjectionContent() - Method in class io.github.douira.glsl_transformer.core.WrapIdentifierExternalDeclaration
Returns the content that is injected as an external declaration.
getInjectionLocation() - Method in class io.github.douira.glsl_transformer.core.WrapIdentifierExternalDeclaration
Returns the injection location for where the external declaration should be injected.
getInputStream() - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
 
getJobParameters() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Returns the execution planner's current job parameters.
getLargestSourceInterval() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Gets the source interval for this node that covers the largest space.
getLexer() - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Returns the execution planner's lexer.
getLexer() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Returns the executing execution planner's lexer.
getLexer() - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
 
getLine() - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
 
getMessage(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ThrowTarget
Generates the exception when this target is found.
getMessage(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ThrowTargetImpl
 
getMessage(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.WrapThrowTarget
 
getNeedle() - Method in class io.github.douira.glsl_transformer.core.target.HandlerTarget
Returns the string to search for.
getNeedle() - Method in class io.github.douira.glsl_transformer.core.target.HandlerTargetImpl
 
getNeedle() - Method in class io.github.douira.glsl_transformer.core.target.WrapThrowTarget
 
getNewContent(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ParsedReplaceTarget
Returns the string to be parsed with the parser function returned by ParsedReplaceTarget.getParseMethod(TreeMember, String) in order to create a new node that is inserted as a replacement for the found target.
getNewContent(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ParsedReplaceTargetImpl
 
getNode() - Method in exception io.github.douira.glsl_transformer.core.SemanticException
Returns the exception's parse tree node if there is one.
getOmissionSet() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
The omission set is present if this node is a local root.
getOutputParseMethod() - Method in class io.github.douira.glsl_transformer.ast.ParsableASTNode
This method is overwritten by the implementing class to specify with which parser method the generated string should be parsed.
getOutputParseMethod() - Method in class io.github.douira.glsl_transformer.ast.Tensor
 
getParent() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Override to make type more specific
getParent() - Method in class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
Override to make type more specific
getParent() - Method in interface io.github.douira.glsl_transformer.tree.TreeMember
Gets the parent of this node.
getParsed() - Method in class io.github.douira.glsl_transformer.ast.ParsableASTNode
Parses this AST node's generated code into a parse tree node without attaching a parent node.
getParsed(ExtendedContext) - Method in class io.github.douira.glsl_transformer.ast.ParsableASTNode
Parses the code generated by this AST node with the parser method supplied by ParsableASTNode.getOutputParseMethod() into a parse tree node..
getParseMethod(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ParsedReplaceTarget
Returns the method for parsing the string returned by ParsedReplaceTarget.getNewContent(TreeMember, String) into a new node that replaces the node that was found to contain the needle
getParseMethod(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ParsedReplaceTargetImpl
 
getParser() - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Returns this execution planner's parser.
getParser() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Returns the executing execution planner's parser.
getParser() - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
The returned parser (and lexer) may contain no token stream or a wrong token stream.
getPlanner() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Returns the execution planner set on this child.
getPlanner() - Method in class io.github.douira.glsl_transformer.transform.LifecycleUserImpl
 
getPlanner() - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
 
getPreviousNode() - Method in interface io.github.douira.glsl_transformer.traversal.MoveCheckable
Returns the node that this node replaced during a tree transformation.
getPreviousNode() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
 
getPreviousNode() - Method in class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
 
getPrinted() - Method in class io.github.douira.glsl_transformer.ast.ASTNode
Generates the string representation of this AST object as it would be in the generated code.
getPrinted() - Method in class io.github.douira.glsl_transformer.ast.Directive
 
getPrinted() - Method in class io.github.douira.glsl_transformer.ast.StringNode
 
getPrinted() - Method in class io.github.douira.glsl_transformer.ast.Tensor
 
getReplacement(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ReplaceTarget
Returns the node to insert replacing the node found with the search string.
getReplacement(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.TerminalReplaceTarget
 
getReplacement(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.TerminalReplaceTargetImpl
 
getRootNode() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Returns the root node taken from the execution planner that is currently executing this phase.
getRootTransformation() - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Returns the root transformation that contains all other phases and transformations.
getSiblings(TreeMember) - Static method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Gets the sibling nodes of a given node.
getSourceName() - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
 
getTargets() - Method in class io.github.douira.glsl_transformer.core.SearchTerminals
Returns the collection of targets to search for.
getTargets() - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsDynamic
 
getTargets() - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
 
getTargetsDynamic() - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsDynamic
Returns the collection of targets to search for.
getTerminalContent() - Method in class io.github.douira.glsl_transformer.core.target.TerminalReplaceTarget
Returns the content to insert as a terminal replacement node.
getTerminalContent() - Method in class io.github.douira.glsl_transformer.core.target.TerminalReplaceTargetImpl
 
getTerminalTokenType() - Method in class io.github.douira.glsl_transformer.core.SearchTerminals
Returns the terminal token type to match the target's needles against.
getTerminalTokenType() - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
 
getText() - Method in class io.github.douira.glsl_transformer.ast.UnparsableASTNode
 
getTokenChannel(Token) - Static method in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
Returns the channel enum for this token's integer channel number.
getTokenFactory() - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
 
getTokenStream() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
The token stream is present if this node is a local root.
getWrapResult() - Method in class io.github.douira.glsl_transformer.core.target.WrapThrowTarget
Returns the wrap result that will be preset after wrapping.
getWrapResult() - Method in class io.github.douira.glsl_transformer.core.target.WrapThrowTargetImpl
 
getWrapResultDynamic() - Method in class io.github.douira.glsl_transformer.core.WrapIdentifierDynamic
Returns the wrapping result that is used as a replacement for the target.
getWrapTargetDynamic() - Method in class io.github.douira.glsl_transformer.core.WrapIdentifierDynamic
Returns the wrapping target.

H

handleResult(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.HandlerTarget
Handles the containing node and token that the string was found in.
handleResult(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ParsedReplaceTarget
 
handleResult(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ReplaceTarget
 
handleResult(TreeMember, String) - Method in class io.github.douira.glsl_transformer.core.target.ThrowTarget
 
HandlerTarget<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A handler target contains a string to search for and a method that is called to handle finding the string in a parse tree.
HandlerTarget() - Constructor for class io.github.douira.glsl_transformer.core.target.HandlerTarget
Creates a new empty handler target.
HandlerTargetImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
Implements a handler target in a simple way by simply being constructed with a fixed needle.
HandlerTargetImpl() - Constructor for class io.github.douira.glsl_transformer.core.target.HandlerTargetImpl
Creates a new empty handler target that doesn't have a needle.
HandlerTargetImpl(String) - Constructor for class io.github.douira.glsl_transformer.core.target.HandlerTargetImpl
Creates a new handler target with the given search string
hashCode() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns a hash code value for this object.
hashCode() - Method in class io.github.douira.glsl_transformer.transform.FixedWrappedParameters
 
hashCode() - Method in class io.github.douira.glsl_transformer.transform.JobParameters
Requires the implementation of the hashCode method.
hashCode() - Method in class io.github.douira.glsl_transformer.transform.NonFixedJobParameters
 
HIDDEN - Enum constant in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
The default hidden channel
highestDimension() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the highestDimension record component.

I

IDENTIFIER - Static variable in class io.github.douira.glsl_transformer.core.SearchTerminals
The identifier token type.
IF - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#if
IFDEF - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#ifdef
IFNDEF - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#ifndef
INCLUDE - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#include
init() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Called when this object is set up in a processing environment like the printer or the execution planner.
initOnce() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Is called before the first execution by the execution planner.
injectDefine(TransformationPhase.InjectionPoint, String) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Injects a new #define statement at the specified location.
injectExternalDeclaration(TransformationPhase.InjectionPoint, String) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Injects the given string parsed as an external declaration.
injectExternalDeclarations(TransformationPhase.InjectionPoint, String...) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Injects multiple strings parsed as individual external declarations.
injectNode(TransformationPhase.InjectionPoint, ParseTree) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Injects the given node into the translation unit context root node at the given injection point.
injectNodes(TransformationPhase.InjectionPoint, Deque<ParseTree>) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Injects a list of nodes into the translation unit context node.
injectNodes(TransformationPhase.InjectionPoint, ParseTree...) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Injects an array of nodes at an injection location.
input - Variable in class io.github.douira.glsl_transformer.transform.TransformationManager
The last parsed input stream.
INSTANCE - Static variable in class io.github.douira.glsl_transformer.transform.NonFixedJobParameters
An empty set non-fixed job parameters.
INTEGER - Enum constant in enum class io.github.douira.glsl_transformer.ast.Tensor.NumberType
uint-like bit usage, non-signed
INTERNAL - Static variable in class io.github.douira.glsl_transformer.transform.TransformationManager
An internal instance of this class that is used by other library-internal classes for parsing needs.
io.github.douira.glsl_transformer.ast - package io.github.douira.glsl_transformer.ast
 
io.github.douira.glsl_transformer.core - package io.github.douira.glsl_transformer.core
 
io.github.douira.glsl_transformer.core.target - package io.github.douira.glsl_transformer.core.target
 
io.github.douira.glsl_transformer.print - package io.github.douira.glsl_transformer.print
 
io.github.douira.glsl_transformer.print.filter - package io.github.douira.glsl_transformer.print.filter
 
io.github.douira.glsl_transformer.transform - package io.github.douira.glsl_transformer.transform
 
io.github.douira.glsl_transformer.traversal - package io.github.douira.glsl_transformer.traversal
 
io.github.douira.glsl_transformer.tree - package io.github.douira.glsl_transformer.tree
 
io.github.douira.glsl_transformer.util - package io.github.douira.glsl_transformer.util
 
isActive() - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Overwrite this method to add a check of if this phase should be run at all.
isActiveAfterWalk() - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
Determines if this phase's WalkPhase.afterWalk(TranslationUnitContext) should be run.
isActiveAtWalk() - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
Determines if the phase's listener methods should be run.
isActiveBeforeWalk() - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsDynamic
 
isActiveBeforeWalk() - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
Determines if this phase's WalkPhase.beforeWalk(TranslationUnitContext) should be run.
isActiveDynamic() - Method in class io.github.douira.glsl_transformer.core.WrapIdentifierDynamic
Returns if the phases should be active.
isDeepEnough(ExtendedContext) - Method in interface io.github.douira.glsl_transformer.traversal.PartialParseTreeListener
Returns if this parse tree listener wants to continue to walk the tree but not go any deeper into the current (given) rule.
isDeepEnough(ExtendedContext) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
 
isEmpty() - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
Checks if the list of listeners is empty.
isFinished() - Method in interface io.github.douira.glsl_transformer.traversal.PartialParseTreeListener
Returns if this parse tree listener is no longer interested in walking the tree.
isFinished() - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
 
isInitialized() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Checks if this lifecycle user has been initialized.
isInitialized() - Method in class io.github.douira.glsl_transformer.transform.LifecycleUserImpl
 
isInitialized() - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
 
isLocalRoot() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Checks if this node is a local root.
isRoot() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Checks if this node is the global root.
isTokenAllowed(Token) - Method in class io.github.douira.glsl_transformer.print.filter.ChannelFilter
 
isTokenAllowed(Token) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
 
isTokenAllowed(Token) - Method in class io.github.douira.glsl_transformer.print.filter.NewlineFilter
 
isTokenAllowed(Token) - Method in class io.github.douira.glsl_transformer.print.filter.StringFilter
 
isTokenAllowed(Token) - Method in class io.github.douira.glsl_transformer.print.filter.TokenFilter
Checks if the token should be printed.

J

JobParameters - Class in io.github.douira.glsl_transformer.transform
All job parameters have to extend this job parameter base class.
JobParameters() - Constructor for class io.github.douira.glsl_transformer.transform.JobParameters
 
join(TokenFilter<R>, TokenFilter<R>) - Static method in class io.github.douira.glsl_transformer.print.filter.TokenFilter
Joins two arbitrary token filters into a new filter.

L

LifecycleUser<T extends JobParameters> - Interface in io.github.douira.glsl_transformer.transform
Implemented by classes that have an execution planner parent and can receive job parameters.
LifecycleUserImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
This implementation of a lifecycle user may be used if a class can be extended.
LifecycleUserImpl() - Constructor for class io.github.douira.glsl_transformer.transform.LifecycleUserImpl
 
LINE - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#line
listOf(T...) - Static method in class io.github.douira.glsl_transformer.util.CompatUtil
Creates an ArrayList that contains the given items in the same order.

M

makeLocalRoot(BufferedTokenStream) - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Registers this node as a new local root node together with its corresponding token stream.
MoveCheckable - Interface in io.github.douira.glsl_transformer.traversal
The move checkable interface provides a method for checking if the implementing node replaces a given node.
MultiFilter<T extends JobParameters> - Class in io.github.douira.glsl_transformer.print.filter
A multi filter checks all contained filters with either requiring all of them or at least one of them to allow the token.
MultiFilter() - Constructor for class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a new empty default multi filter.
MultiFilter(boolean, boolean) - Constructor for class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a new multi filter the behavior options.
MultiFilter(int) - Constructor for class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a new default multi filter with an initial size capacity.
MultiFilter(int, boolean, boolean) - Constructor for class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a new multi filter with an initial size capacity and the behavior options.
MultiFilter(Collection<? extends TokenFilter<T>>) - Constructor for class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a new default multi filter with the given list of subfilters.
MultiFilter(Collection<TokenFilter<T>>, boolean, boolean) - Constructor for class io.github.douira.glsl_transformer.print.filter.MultiFilter
Creates a new multi filter with the given list of subfilters and the behavior options.

N

NewlineFilter<T extends JobParameters> - Class in io.github.douira.glsl_transformer.print.filter
The newline filter filters out regular unnecessary newlines if there is more than one.
NewlineFilter() - Constructor for class io.github.douira.glsl_transformer.print.filter.NewlineFilter
 
nextToken() - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
Uses TokenSource.nextToken() on the real token source to filter to get tokens and then filters them with the contained token filter if there is one.
NonFixedJobParameters - Class in io.github.douira.glsl_transformer.transform
This class is used when the job parameters have no fixed part and the execution plan can't be statically optimized for certain job parameter combinations.
NonFixedJobParameters() - Constructor for class io.github.douira.glsl_transformer.transform.NonFixedJobParameters
 
numberType() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the numberType record component.

O

omitTokens() - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Marks the tokens encompassed by this node as omitted.
omitTokens() - Method in class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
 
omitTokens() - Method in interface io.github.douira.glsl_transformer.tree.TreeMember
Omits the tokens this node encompasses from the next local root.
omitTokens(Interval) - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Omits the given token interval on this node's local root.

P

ParsableASTNode - Class in io.github.douira.glsl_transformer.ast
The parsable a AST node defines how AST nodes that can be converted back into parse tree nodes are handled.
ParsableASTNode() - Constructor for class io.github.douira.glsl_transformer.ast.ParsableASTNode
 
parse(String, ExtendedContext, Function<GLSLParser, RuleType>) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Parses a string using a parser method reference into a parse tree.
parse(String, Function<GLSLParser, RuleType>) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Parses a string using a parser method reference into a parse tree.
parse(IntStream, ExtendedContext, Function<GLSLParser, RuleType>) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Parses an int stream (which is similar to a string) using a parser method reference into a parse tree.
ParsedReplaceTarget<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A parsed replace target generates a node from parsing a string for each replacement.
ParsedReplaceTarget() - Constructor for class io.github.douira.glsl_transformer.core.target.ParsedReplaceTarget
Creates a new parsed replace target with no search string.
ParsedReplaceTarget(String) - Constructor for class io.github.douira.glsl_transformer.core.target.ParsedReplaceTarget
Creates a new parsed replace target that takes a search string.
ParsedReplaceTargetImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A parsed replace target generates a new parsed node from a stored string each time a replacement is handled.
ParsedReplaceTargetImpl(String, String, Function<GLSLParser, ExtendedContext>) - Constructor for class io.github.douira.glsl_transformer.core.target.ParsedReplaceTargetImpl
Create a new parsed replacement target with a given needle and new content to be parsed.
PartialParseTreeListener - Interface in io.github.douira.glsl_transformer.traversal
Adds a method to the parse tree listener with which the parse tree walker can detect if it should stop walking the tree.
planExecutionFor(T) - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Triggers execution planning for a given set of fixed job parameters.
prependDependency(LifecycleUser<T>) - Method in class io.github.douira.glsl_transformer.transform.Transformation
Adds a dependency between the root node and all of its dependencies.
PREPROCESSOR - Enum constant in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
The custom preprocessor channel
printTree(BufferedTokenStream, ExtendedContext) - Static method in class io.github.douira.glsl_transformer.print.PrintVisitor
Prints the given parse tree that references the given token stream.
printTree(BufferedTokenStream, ExtendedContext, TokenFilter<?>) - Static method in class io.github.douira.glsl_transformer.print.PrintVisitor
Prints the given parse tree that references the given token stream.
PrintVisitor - Class in io.github.douira.glsl_transformer.print
The print visitor visits the parse tree and reprints it while preserving the position and content of hidden tokens.
ProxyParseTreeListener - Class in io.github.douira.glsl_transformer.traversal
This class was taken from here and was added to the public domain by the author DaveJarvis.
ProxyParseTreeListener(Collection<PartialParseTreeListener>) - Constructor for class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
Creates a new proxy with the given list of listeners.

R

remove(PartialParseTreeListener) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
Removes the given listener to the list of event notification recipients.
removeCurrentListener() - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
Removes the listener last processed during iteration from the list of listeners.
removeNode(TreeMember) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Removes the given node from its parent's child list.
repeat(String, int) - Static method in class io.github.douira.glsl_transformer.util.CompatUtil
Repeats the given string a number of times.
replaceNode(TreeMember, TreeMember) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Replaces the given node in its parent with a new given node.
replaceNode(TreeMember, String, Function<GLSLParser, ExtendedContext>) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Replaces the given node in its parent with a new node generated by parsing the given string with the given method of the parser.
replaces(ParseTree, ParseTree) - Static method in interface io.github.douira.glsl_transformer.traversal.MoveCheckable
Checks if any given parse tree node replaces another.
ReplaceTarget<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A replacement target searches for a search string and uses a method to generate a tree member to replace it in the tree.
ReplaceTarget() - Constructor for class io.github.douira.glsl_transformer.core.target.ReplaceTarget
Creates a new replace target with no search string.
ReplaceTarget(String) - Constructor for class io.github.douira.glsl_transformer.core.target.ReplaceTarget
Creates a new replace target with a given search string
resetState() - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
 
resetState() - Method in class io.github.douira.glsl_transformer.print.filter.NewlineFilter
 
resetState() - Method in class io.github.douira.glsl_transformer.print.filter.TokenFilter
Resets the filter's state.
resetState() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Called before this object is used on a job.
run(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.RunPhase
This method is implemented by subclasses to be executed by the phase planner at the right time.
runAfterWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.RunPhase
 
runAfterWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Method called by the execution planner after the walk happens.
runAfterWalk(GLSLParser.TranslationUnitContext) - Method in class io.github.douira.glsl_transformer.transform.WalkPhase
 
RunPhase<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
A run phase simply executes one method when it is executed in a level by the execution planner.
RunPhase() - Constructor for class io.github.douira.glsl_transformer.transform.RunPhase
 

S

SearchTerminals<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core
This phase finds targets in specified target token types (usually identifiers) and triggers their handlers.
SearchTerminals() - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminals
 
SearchTerminalsDynamic<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core
This class extends the search terminals implementation by adding at method SearchTerminalsDynamic.getTargetsDynamic() that returns the list of targets to search for dynamically but is only called if the targets are every actually needed.
SearchTerminalsDynamic() - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsDynamic
Creates a new dynamic search terminals phase.
SearchTerminalsImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core
This implementation of the search terminals transformation phase uses static fields to return the targets and the terminal token type.
SearchTerminalsImpl() - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new empty identifier search with a hash set.
SearchTerminalsImpl(int) - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new target search phase with only the terminal token type given.
SearchTerminalsImpl(int, HandlerTarget<T>) - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new target search phase with only a single target.
SearchTerminalsImpl(int, Collection<HandlerTarget<T>>) - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new target search phase with the given targets.
SearchTerminalsImpl(HandlerTarget<T>) - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new identifier search phase with only a single target.
SearchTerminalsImpl(Collection<HandlerTarget<T>>) - Constructor for class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new identifier search phase with with given targets.
SemanticException - Exception in io.github.douira.glsl_transformer.core
The semantic exception should be thrown by a transformation phase when the parsed code has semantic errors or there is some other content-related reason why the transformation process should be halted.
SemanticException() - Constructor for exception io.github.douira.glsl_transformer.core.SemanticException
Creates a new empty semantic exception.
SemanticException(String) - Constructor for exception io.github.douira.glsl_transformer.core.SemanticException
Creates a new semantic exception with a message string.
SemanticException(String, ParseTree) - Constructor for exception io.github.douira.glsl_transformer.core.SemanticException
Creates a new semantic exception with a message string and a parse tree node.
setConjunction(boolean) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
Sets the conjunction behavior flag
setInitialized() - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Marks this lifecycle user as initialized.
setInitialized() - Method in class io.github.douira.glsl_transformer.transform.LifecycleUserImpl
 
setInitialized() - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
 
setListeners(Collection<PartialParseTreeListener>) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
Changes the list of listeners to receive events.
setOf(T) - Static method in class io.github.douira.glsl_transformer.util.CompatUtil
Creates a HashSet that contains the given item.
setOf(T...) - Static method in class io.github.douira.glsl_transformer.util.CompatUtil
Creates a HashSet that contains the given items.
setOf(T, T) - Static method in class io.github.douira.glsl_transformer.util.CompatUtil
Creates a HashSet that contains the given items.
setParent(ExtendedContext) - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
Sets the parent and copies the root reference from the parent.
setParseTokenFilter(TokenFilter<T>) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Sets the token filter to use before parsing.
setPlanner(ExecutionPlanner<T>) - Method in class io.github.douira.glsl_transformer.core.target.HandlerTarget
 
setPlanner(ExecutionPlanner<T>) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
 
setPlanner(ExecutionPlanner<T>) - Method in interface io.github.douira.glsl_transformer.transform.LifecycleUser
Sets the parent planner of this child.
setPlanner(ExecutionPlanner<T>) - Method in class io.github.douira.glsl_transformer.transform.LifecycleUserImpl
 
setPlanner(ExecutionPlanner<T>) - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
This must be called before executing this phase in the context of a specific parse tree.
setPreviousNode(ParseTree) - Method in interface io.github.douira.glsl_transformer.traversal.MoveCheckable
Allows the transformation phase to tell this node which node it replaces.
setPreviousNode(ParseTree) - Method in class io.github.douira.glsl_transformer.tree.ExtendedContext
 
setPreviousNode(ParseTree) - Method in class io.github.douira.glsl_transformer.tree.ExtendedTerminalNode
 
setPrintTokenFilter(TokenFilter<T>) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Sets the token filter to use before printing.
setShortCircuit(boolean) - Method in class io.github.douira.glsl_transformer.print.filter.MultiFilter
Sets the conjunction short circuit flag
setTerminalTokenType(int) - Method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Sets the terminal token type.
setTokenFactory(TokenFactory<?>) - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
 
setTokenFilter(TokenFilter<?>) - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
Sets the token filter on this filtering token source wrapper.
setTokenSource(TokenSource) - Method in class io.github.douira.glsl_transformer.transform.FilterTokenSource
Sets the token source on this filtering token source wrapper.
setupGraph() - Method in class io.github.douira.glsl_transformer.transform.Transformation
If conditional dependencies are required for this transformation, all dependencies should be created within this method.
shape() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the shape record component.
SIGNED_INTEGER - Enum constant in enum class io.github.douira.glsl_transformer.ast.Tensor.NumberType
int-like bit usage, signed
spaceDimensions() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the spaceDimensions record component.
StringFilter<T extends JobParameters> - Class in io.github.douira.glsl_transformer.print.filter
The string token filter disallows tokens that are matched against a set of disallowed strings.
StringFilter(String) - Constructor for class io.github.douira.glsl_transformer.print.filter.StringFilter
Creates a new string token filter with a single disallowed string.
StringFilter(String...) - Constructor for class io.github.douira.glsl_transformer.print.filter.StringFilter
Creates a new string token filter with an array of disallowed strings.
StringFilter(Set<String>) - Constructor for class io.github.douira.glsl_transformer.print.filter.StringFilter
Creates a new string token filter with a set of disallowed strings.
StringNode - Class in io.github.douira.glsl_transformer.ast
String node provides a terminal node with arbitrary contents.
StringNode(String) - Constructor for class io.github.douira.glsl_transformer.ast.StringNode
Creates a new string node with the given string content.

T

targets - Variable in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
The list of targets to process for each targeted context.
Tensor - Class in io.github.douira.glsl_transformer.ast
A tensor abstractly represents the many multidimensional number types that GLSL has.
Tensor(int) - Constructor for class io.github.douira.glsl_transformer.ast.Tensor
Creates a new tensor with the type given as a lexer token index.
Tensor(Tensor.Type) - Constructor for class io.github.douira.glsl_transformer.ast.Tensor
Creates a new tensor with the given type.
Tensor(GLSLParser.BuiltinTypeSpecifierParseableContext) - Constructor for class io.github.douira.glsl_transformer.ast.Tensor
Creates a new tensor from the given type specifier parse tree node.
Tensor(String) - Constructor for class io.github.douira.glsl_transformer.ast.Tensor
Creates a new tensor by parsing the type specified in the given string.
Tensor.NumberType - Enum Class in io.github.douira.glsl_transformer.ast
The different ways bits in a tensor can be interpreted.
Tensor.Type - Record Class in io.github.douira.glsl_transformer.ast
The shape is an array of up to three integers describing how big this tensor is in each dimension.
TerminalReplaceTarget<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A terminal replace target replaces the target with a terminal string node.
TerminalReplaceTarget() - Constructor for class io.github.douira.glsl_transformer.core.target.TerminalReplaceTarget
Creates a new terminal replace target with no search string.
TerminalReplaceTarget(String) - Constructor for class io.github.douira.glsl_transformer.core.target.TerminalReplaceTarget
Creates a new terminal placement target with a search string.
TerminalReplaceTargetImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
This terminal replacement target uses a given string to generate terminal nodes to use as replacement nodes for replacing found targets.
TerminalReplaceTargetImpl(String, String) - Constructor for class io.github.douira.glsl_transformer.core.target.TerminalReplaceTargetImpl
Creates a new terminal replace target with a given needle and content of the terminal node to create as a replacement.
ThrowTarget<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A target that searches for a search string in and upon finding a match uses a method to generate a string for a semantic exception which is then thrown.
ThrowTarget() - Constructor for class io.github.douira.glsl_transformer.core.target.ThrowTarget
Creates a new throw target with no search string.
ThrowTarget(String) - Constructor for class io.github.douira.glsl_transformer.core.target.ThrowTarget
Creates a new throw target with a given search string
ThrowTargetImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
A throw target that has a fixed message it puts into the exception that's thrown when the target is found.
ThrowTargetImpl(String, String) - Constructor for class io.github.douira.glsl_transformer.core.target.ThrowTargetImpl
Creates a new throw target with a fixed needle and exception message.
TokenChannel - Enum Class in io.github.douira.glsl_transformer.print.filter
A list of the possible channels a token can have.
TokenFilter<T extends JobParameters> - Class in io.github.douira.glsl_transformer.print.filter
A token filter is an object that can check if given tokens should be printed or not.
TokenFilter() - Constructor for class io.github.douira.glsl_transformer.print.filter.TokenFilter
 
tokenNotOmitted(Token) - Method in class io.github.douira.glsl_transformer.print.CachingIntervalSet
Checks if the given token is covered by this set if it's being used as an omission set.
tokenStream - Variable in class io.github.douira.glsl_transformer.transform.TransformationManager
The last parsed tokens stream.
tokenType() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns the value of the tokenType record component.
toString() - Method in record class io.github.douira.glsl_transformer.ast.Tensor.Type
Returns a string representation of this record class.
transform(String) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Transforms the given string by parsing, transforming it with the already registered transformations and then re-printing it.
transform(String, T) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Transforms the given string by parsing, transforming it with the already registered transformations and then re-printing it.
Transformation<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
The transformation holds information about dependencies between transformation phases and nested transformations.
Transformation() - Constructor for class io.github.douira.glsl_transformer.transform.Transformation
Creates a stateless transformation with no content, which can be added later.
Transformation(LifecycleUser<T>) - Constructor for class io.github.douira.glsl_transformer.transform.Transformation
Creates a stateless transformation and adds a single lifecycle user to it.
TransformationManager<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
Implements the execution planner by providing the boilerplate code for setting up an input, a lexer and a parser.
TransformationManager() - Constructor for class io.github.douira.glsl_transformer.transform.TransformationManager
Creates a new transformation manager that throws parse errors by default.
TransformationManager(boolean) - Constructor for class io.github.douira.glsl_transformer.transform.TransformationManager
Creates a new transformation manager and specifies if parse errors should be thrown during parsing.
TransformationPhase<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
The transformations phase actually does a specific transformation.
TransformationPhase() - Constructor for class io.github.douira.glsl_transformer.transform.TransformationPhase
 
TransformationPhase.InjectionPoint - Enum Class in io.github.douira.glsl_transformer.transform
Shader code is expected to be roughly structured as follows: version, extensions, other directives (#define, #pragma etc.), declarations (layout etc.), functions (void main etc.).
transformStream(IntStream) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Transforms a given input stream and re-prints it as a string.
transformStream(IntStream, T) - Method in class io.github.douira.glsl_transformer.transform.TransformationManager
Transforms a given input stream and re-prints it as a string.
transformTree(GLSLParser.TranslationUnitContext, BufferedTokenStream) - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Transforms the given parse tree with the registered transformations.
TreeMember - Interface in io.github.douira.glsl_transformer.tree
A tree member has a parent and its tokens can be omitted.
Type(int, Tensor.NumberType, int[], int, int, String, String) - Constructor for record class io.github.douira.glsl_transformer.ast.Tensor.Type
Creates an instance of a Type record class.

U

UNDEF - Enum constant in enum class io.github.douira.glsl_transformer.ast.Directive.Type
#undef
UnparsableASTNode - Class in io.github.douira.glsl_transformer.ast
The unparsable AST node is basically just a wrapper around a terminal node that contains a custom string.
UnparsableASTNode() - Constructor for class io.github.douira.glsl_transformer.ast.UnparsableASTNode
 

V

valueOf(String) - Static method in enum class io.github.douira.glsl_transformer.ast.Directive.Type
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.douira.glsl_transformer.ast.Tensor.NumberType
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Returns the enum constant of this class with the specified name.
values() - Static method in enum class io.github.douira.glsl_transformer.ast.Directive.Type
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.douira.glsl_transformer.ast.Tensor.NumberType
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.douira.glsl_transformer.transform.TransformationPhase.InjectionPoint
Returns an array containing the constants of this enum class, in the order they are declared.
visitChildren(RuleNode) - Method in class io.github.douira.glsl_transformer.print.PrintVisitor
The visitor method that the print visitor overrides in order to collect each node's intervals.
visitErrorNode(ErrorNode) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
 
visitTerminal(TerminalNode) - Method in class io.github.douira.glsl_transformer.core.SearchTerminals
 
visitTerminal(TerminalNode) - Method in class io.github.douira.glsl_transformer.print.PrintVisitor
 
visitTerminal(TerminalNode) - Method in class io.github.douira.glsl_transformer.traversal.ProxyParseTreeListener
 

W

walk(ParseTreeListener, ParseTree) - Method in class io.github.douira.glsl_transformer.traversal.DynamicParseTreeWalker
Copied from ANTLR's ParseTreeWalker.walk(org.antlr.v4.runtime.tree.ParseTreeListener, org.antlr.v4.runtime.tree.ParseTree) but with compensation for items being added to the child array.
walkFinished() - Method in class io.github.douira.glsl_transformer.transform.TransformationPhase
Marks this phase as being done walking the tree in the current execution.
WalkPhase<T extends JobParameters> - Class in io.github.douira.glsl_transformer.transform
The walk phase is a phase on which the listener methods of the generated listener interface are called.
WalkPhase() - Constructor for class io.github.douira.glsl_transformer.transform.WalkPhase
 
WHITESPACE - Enum constant in enum class io.github.douira.glsl_transformer.print.filter.TokenChannel
The custom whitespace channel
withExternalDeclaration(String, String, String, TransformationPhase.InjectionPoint, String) - Static method in class io.github.douira.glsl_transformer.core.WrapIdentifier
Creates a new wrap identifier transformation that inserts a parsed expression as a replacement and inserts a new external declaration.
withInjectExternalDeclarations(TransformationPhase.InjectionPoint, String...) - Static method in class io.github.douira.glsl_transformer.transform.RunPhase
Returns a new run phase that injects the given strings as an external declarations at the given location.
withInjectNodes(TransformationPhase.InjectionPoint, ParseTree) - Static method in class io.github.douira.glsl_transformer.transform.RunPhase
Returns a new run phase that injects the given nodes at the given location.
withJobParameters(T, Runnable) - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Runs a function while this transformation manager has the given job parameters set.
withJobParameters(T, Supplier<R>) - Method in class io.github.douira.glsl_transformer.transform.ExecutionPlanner
Runs a function while this transformation manager has the given job parameters set.
withReplacement(String, String, Function<GLSLParser, ExtendedContext>) - Static method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new identifier replacement transformation with a replacement target that replaces matching terminal nodes with new nodes parsed from the given string using a specified parser method.
withReplacementExpression(String, String) - Static method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new identifier replacement transformation with a replacement target that replaces matching terminal nodes with new expression nodes parsed from the given string.
withReplacementTerminal(String, String) - Static method in class io.github.douira.glsl_transformer.core.SearchTerminalsImpl
Creates a new identifier replacement transformation with a replacement target that replaces matching terminal nodes with new unparsed string nodes.
withRun(Runnable) - Static method in class io.github.douira.glsl_transformer.transform.RunPhase
Creates a new run phase that only executes the given runnable function.
WrapIdentifier<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core
The wrap identifier transformation wraps the usage of a certain identifier with new code by replacing its usage with a new expression and inserting code that takes care of handling the conversion from the new to the old value.
WrapIdentifier(TransformationPhase<T>, TransformationPhase<T>, TransformationPhase<T>) - Constructor for class io.github.douira.glsl_transformer.core.WrapIdentifier
Creates a new wrap identifier transformation.
WrapIdentifier(String, HandlerTarget<T>, TransformationPhase<T>) - Constructor for class io.github.douira.glsl_transformer.core.WrapIdentifier
Creates a new wrap identifier transformation with a fixed result identifier and a fixed replacement phase for which only the target is given.
WrapIdentifier(String, TransformationPhase<T>, TransformationPhase<T>) - Constructor for class io.github.douira.glsl_transformer.core.WrapIdentifier
Creates a new wrap identifier transformation with a fixed result identifier.
WrapIdentifierDynamic<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core
The dynamic wrap identifier transformation has a number of abstract methods that can be implemented in order to dynamically supply the parameters for this identifier wrap operation.
WrapIdentifierDynamic() - Constructor for class io.github.douira.glsl_transformer.core.WrapIdentifierDynamic
Creates a new wrap identifier transformation with no wrapping injector.
WrapIdentifierDynamic(TransformationPhase<T>) - Constructor for class io.github.douira.glsl_transformer.core.WrapIdentifierDynamic
Creates a new wrap identifier transformation with a specified wrapping injector phase.
WrapIdentifierExternalDeclaration<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core
A wrap identifier transformation that injects an external declaration at a specified location.
WrapIdentifierExternalDeclaration() - Constructor for class io.github.douira.glsl_transformer.core.WrapIdentifierExternalDeclaration
Creates a new wrap identifier transformation that injects an external declaration.
WrappedParameters<T> - Class in io.github.douira.glsl_transformer.transform
This class simply wraps a parameter object that extends the job parameter type.
WrappedParameters(T) - Constructor for class io.github.douira.glsl_transformer.transform.WrappedParameters
Creates a new job parameter wrapper.
WrapThrowTarget<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
The wrap target is used for detecting the presence of a wrap result.
WrapThrowTarget() - Constructor for class io.github.douira.glsl_transformer.core.target.WrapThrowTarget
 
WrapThrowTargetImpl<T extends JobParameters> - Class in io.github.douira.glsl_transformer.core.target
This implementation of the wrap target uses a field for statically holding the wrap result.
WrapThrowTargetImpl(String) - Constructor for class io.github.douira.glsl_transformer.core.target.WrapThrowTargetImpl
Creates a new wrap target with a the given string as the needle.
A B C D E F G H I J L M N O P R S T U V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form