java.lang.Object
io.github.douira.glsl_transformer.ast.query.Root

public class Root extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • getActiveBuildRoot

      public static Root getActiveBuildRoot()
    • withActiveBuildRoot

      protected static <R> R withActiveBuildRoot(Root instance, Function<Root,R> rootConsumer)
    • indexNodes

      public static <NodeType extends ASTNode> NodeType indexNodes(Root instance, Supplier<NodeType> builder)
    • indexNodes

      public static <NodeType extends ASTNode> NodeType indexNodes(Supplier<NodeType> builder)
    • indexNodes

      public static <NodeType extends ASTNode> NodeType indexNodes(ASTNode parentTreeMember, Supplier<NodeType> builder)
    • indexBuildSession

      public static void indexBuildSession(Root instance, Runnable session)
    • indexBuildSession

      public static void indexBuildSession(Runnable session)
    • indexBuildSession

      public static void indexBuildSession(ASTNode parentTreeMember, Runnable session)
    • indexSeparateTrees

      protected static <NodeType extends ASTNode> void indexSeparateTrees(Root instance, Consumer<Passthrough<NodeType>> registererConsumer)
    • indexSeparateTrees

      public static <NodeType extends ASTNode> void indexSeparateTrees(Consumer<Passthrough<NodeType>> registerer)
    • indexSeparateTrees

      public static <NodeType extends ASTNode> void indexSeparateTrees(ASTNode parentTreeMember, Consumer<Passthrough<NodeType>> registerer)
    • registerChild

      public void registerChild(ASTNode child)
    • unregisterChild

      public void unregisterChild(ASTNode child)
    • merge

      public void merge(Root other)
    • renameAll

      public void renameAll(String oldName, String newName)
    • processAll

      public <T extends ASTNode> void processAll(Stream<T> targets, Consumer<T> replacer)
    • processAll

      public void processAll(String name, Consumer<Identifier> replacer)
    • replaceAllReferenceExpressions

      public void replaceAllReferenceExpressions(ASTTransformer<?> transformer, String name, String expressionContent)
    • replaceAllReferenceExpressions

      public void replaceAllReferenceExpressions(ASTTransformer<?> transformer, Stream<Identifier> targets, String expressionContent)
    • replaceAllExpressions

      public void replaceAllExpressions(ASTTransformer<?> transformer, Stream<? extends Expression> targets, String expressionContent)
    • replaceAllExpressions

      public void replaceAllExpressions(ASTTransformer<?> transformer, String name, String expressionContent)