8#ifndef SKSL_IFSTATEMENT
9#define SKSL_IFSTATEMENT
32 std::unique_ptr<Statement>
ifTrue, std::unique_ptr<Statement>
ifFalse)
42 std::unique_ptr<Expression>
test,
43 std::unique_ptr<Statement>
ifTrue,
44 std::unique_ptr<Statement>
ifFalse);
47 static std::unique_ptr<Statement>
Make(
const Context& context,
49 std::unique_ptr<Expression>
test,
50 std::unique_ptr<Statement>
ifTrue,
51 std::unique_ptr<Statement>
ifFalse);
53 std::unique_ptr<Expression>&
test() {
57 const std::unique_ptr<Expression>&
test()
const {
61 std::unique_ptr<Statement>&
ifTrue() {
65 const std::unique_ptr<Statement>&
ifTrue()
const {
73 const std::unique_ptr<Statement>&
ifFalse()
const {
80 std::unique_ptr<Expression> fTest;
81 std::unique_ptr<Statement> fIfTrue;
82 std::unique_ptr<Statement> fIfFalse;
static std::unique_ptr< Statement > Convert(const Context &context, Position pos, std::unique_ptr< Expression > test, std::unique_ptr< Statement > ifTrue, std::unique_ptr< Statement > ifFalse)
std::string description() const override
static std::unique_ptr< Statement > Make(const Context &context, Position pos, std::unique_ptr< Expression > test, std::unique_ptr< Statement > ifTrue, std::unique_ptr< Statement > ifFalse)
IfStatement(Position pos, std::unique_ptr< Expression > test, std::unique_ptr< Statement > ifTrue, std::unique_ptr< Statement > ifFalse)
std::unique_ptr< Expression > & test()
const std::unique_ptr< Statement > & ifFalse() const
const std::unique_ptr< Statement > & ifTrue() const
static constexpr Kind kIRNodeKind
const std::unique_ptr< Expression > & test() const
std::unique_ptr< Statement > & ifTrue()
std::unique_ptr< Statement > & ifFalse()
Statement(Position pos, Kind kind)