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 TypeMethodDescriptionboolean
accept
(@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 String
toString()
Methods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:
iterator
in interfaceIterable<TopLevelElement>
-
accept
Description copied from class:Node
Visit this AST with a given visitor. -
toString
-