public class CombineCompiler extends java.lang.Object implements Compiler
IterXinstr
instruction.Modifier and Type | Field and Description |
---|---|
protected @NotNull java.util.List<Compiler> |
compilers
The compilers used by this.
|
Constructor and Description |
---|
CombineCompiler(Compiler... compilers)
Construct a new compiler that compiles using the given
compilers then
combine the results with an IterXinstr instruction. |
Modifier and Type | Method and Description |
---|---|
@Nullable Instruction |
compile(@NotNull Compiler compiler,
@NotNull Compilation compilation,
@NotNull Tree tree)
Compile the given
tree and the trees in it. |
@NotNull protected final @NotNull java.util.List<Compiler> compilers
public CombineCompiler(@Nullable Compiler... compilers)
compilers
then
combine the results with an IterXinstr
instruction.compilers
- the compilers to be used by the constructed compiler.java.lang.NullPointerException
- if the given compiler
is null.@Nullable public @Nullable Instruction compile(@NotNull @NotNull Compiler compiler, @NotNull @NotNull Compilation compilation, @NotNull @NotNull Tree tree)
Compiler
tree
and the trees in it. If this compiler cannot If this
compiler encountered a tree that it cannot compile, this compiler will pass it to
the given fallback compiler
with the given compiler
as the fallback
compiler.
compiler
with itself as the default compiler.compile
in interface Compiler
compiler
- a compiler this compiler must use when dealing with other
entities this compiler cannot compile.compilation
- the compilation the given tree
was taken from.tree
- the tree to parse any instruction in it.null
if this compiler failed to
compile the given tree
into an instruction.