25 std::unique_ptr<Expression> constCtor) {
32 for (std::unique_ptr<Expression>& arg : inputArgs) {
34 if (arg->type().isScalar()) {
49 std::unique_ptr<Expression> arg) {
70 return std::make_unique<ConstructorArrayCast>(
pos,
type, std::move(arg));
static std::unique_ptr< Expression > MakeConstantValueForVariable(Position pos, std::unique_ptr< Expression > expr)
static std::unique_ptr< Expression > Make(const Context &context, Position pos, const Type &type, std::unique_ptr< Expression > arg)
static std::unique_ptr< Expression > Make(const Context &context, Position pos, const Type &type, ExpressionArray args)
static std::unique_ptr< Expression > Make(const Context &context, 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)
const Type & type() const
virtual bool isArray() const
bool isAllowedInES2(const Context &context) const
virtual const Type & componentType() const
bool matches(const Type &other) const
virtual int columns() const
void reserve_exact(int n)
bool IsCompileTimeConstant(const Expression &expr)
static std::unique_ptr< Expression > cast_constant_array(const Context &context, Position pos, const Type &destType, std::unique_ptr< Expression > constCtor)