Abstract syntax tree node representing ternary operator Q ? T : F
.
#include <ast.hpp>
Public Field Index: | |
integer | ColonPosition |
The index of the colon in the expression string. | |
AST * | F |
The false-result. | |
AST * | Q |
The question. | |
AST * | T |
The true-result. | |
Public Field Index: inherited from AST | |
Types | NodeType |
integer | Position |
Public Method Index: | |
ASTConditional (AST *q, AST *t, AST *f, integer position, integer colonPosition) | |
virtual | ~ASTConditional () override |
virtual void | Assemble (Program &program, MonoAllocator &allocator, AString &normalized) override |
virtual AST * | Optimize (Normalization normalization) override |
Public Method Index: inherited from AST | |
AST ()=delete | |
AST (Types type, integer position) | |
virtual | ~AST () |
Additional Inherited Members | |
Public Type Index: inherited from AST | |
enum class | Types { Literal , Identifier , Function , UnaryOp , BinaryOp , TernaryOp } |
integer ColonPosition |
|
inlineoverridevirtual |
|
overridevirtual |
Implements abstract method.
program | The program to be compiled. | |
allocator | An allocator usable for temporary objects. | |
[out] | normalized | The normalized string, built during recursive compilation of the AST. |
Implements AST.
Definition at line 547 of file ast.cpp.
|
overridevirtual |