8#ifndef SKSL_CONSTRUCTOR_SPLAT
9#define SKSL_CONSTRUCTOR_SPLAT
39 static std::unique_ptr<Expression>
Make(
const Context& context,
42 std::unique_ptr<Expression> arg);
54 return this->
argument()->getConstantValue(0);
std::unique_ptr< Expression > clone(Position pos) const override
ConstructorSplat(Position pos, const Type &type, std::unique_ptr< Expression > arg)
static std::unique_ptr< Expression > Make(const Context &context, Position pos, const Type &type, std::unique_ptr< Expression > arg)
bool supportsConstantValues() const override
static constexpr Kind kIRNodeKind
std::optional< double > getConstantValue(int n) const override
std::unique_ptr< Expression > clone() const
const Type & type() const
SingleArgumentConstructor(Position pos, Kind kind, const Type *type, std::unique_ptr< Expression > argument)
std::unique_ptr< Expression > & argument()