Class Template<T extends ASTNode>

java.lang.Object
io.github.douira.glsl_transformer.ast.transform.Template<T>

public class Template<T extends ASTNode> extends Object
  • Field Details

    • source

      protected final T extends ASTNode source
  • Constructor Details

    • Template

      public Template(T source)
  • Method Details

    • getSource

      public T getSource()
    • getSourceRoot

      public Root getSourceRoot()
    • getReplacement

      public <R> R getReplacement(R original)
    • getSeparateInstance

      public T getSeparateInstance()
    • getInstanceFor

      public T getInstanceFor(Root root)
    • getInstanceFor

      public T getInstanceFor(ASTNode treeMember)
    • supplyLocalReplacements

      public void supplyLocalReplacements(List<ASTNode> replacements)
    • supplyLocalReplacements

      public void supplyLocalReplacements(ASTNode replacement)
    • supplyLocalReplacements

      public void supplyLocalReplacements(ASTNode... replacements)
    • getSeparateInstance

      public T getSeparateInstance(List<ASTNode> localReplacements)
    • getInstanceFor

      public T getInstanceFor(Root root, List<ASTNode> localReplacements)
    • getInstanceFor

      public T getInstanceFor(ASTNode treeMember, List<ASTNode> localReplacements)
    • getSeparateInstance

      public T getSeparateInstance(ASTNode localReplacement)
    • getInstanceFor

      public T getInstanceFor(Root root, ASTNode localReplacement)
    • getInstanceFor

      public T getInstanceFor(ASTNode treeMember, ASTNode localReplacement)
    • getSeparateInstance

      public T getSeparateInstance(ASTNode... localReplacements)
    • getInstanceFor

      public T getInstanceFor(Root root, ASTNode... localReplacements)
    • getInstanceFor

      public T getInstanceFor(ASTNode treeMember, ASTNode... localReplacements)
    • markLocalReplacement

      public void markLocalReplacement(ASTNode original)
    • markLocalReplacement

      public void markLocalReplacement(String tag, Class<? extends ASTNode> clazz)
    • markIdentifierReplacement

      public void markIdentifierReplacement(String tag)
    • markIdentifierReplacement

      public void markIdentifierReplacement(String tag, Supplier<ASTNode> replacement)
    • markReplacement

      public void markReplacement(ASTNode original, Supplier<ASTNode> replacement)
    • markReplacement

      public <R extends ASTNode> void markReplacement(String tag, Class<R> clazz, Supplier<R> replacement)
    • ofCloned

      public static <T extends ASTNode> Template<T> ofCloned(T source)
    • withExternalDeclaration

      public static Template<ExternalDeclaration> withExternalDeclaration(String input)
    • withStatement

      public static Template<Statement> withStatement(String input)
    • withExpression

      public static Template<Expression> withExpression(String input)