Package icyllis.arc3d.compiler
Class TranslationUnit
java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.TranslationUnit
- All Implemented Interfaces:
Iterable<TopLevelElement>
A fully-resolved AST of a single shader executable, ready for code generation.
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node
Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionTranslationUnit(String source, ShaderKind kind, CompileOptions options, BuiltinTypes types, SymbolTable symbolTable, ArrayList<TopLevelElement> uniqueElements, List<Map.Entry<String, String>> extensions) -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccept(@NonNull TreeVisitor visitor) Visit this AST with a given visitor.A list of (extension_name, behavior) pairs.getKind()getTypes()getUsage()@NonNull Iterator<TopLevelElement> iterator()@NonNull StringtoString()Methods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffsetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
TranslationUnit
public TranslationUnit(String source, ShaderKind kind, CompileOptions options, BuiltinTypes types, SymbolTable symbolTable, ArrayList<TopLevelElement> uniqueElements, List<Map.Entry<String, String>> extensions)
-
-
Method Details
-
getSource
-
getKind
-
getOptions
-
getTypes
-
getSymbolTable
-
getUniqueElements
-
getExtensions
A list of (extension_name, behavior) pairs. This list is mutable, you can add or remove elements. -
getUsage
-
iterator
- Specified by:
iteratorin interfaceIterable<TopLevelElement>
-
accept
Description copied from class:NodeVisit this AST with a given visitor. -
toString
-