8 #include <hilti/ast/ctor.h> 9 #include <hilti/ast/expression.h> 10 #include <hilti/ast/type.h> 28 auto typeArguments()
const {
return childs<hilti::Expression>(1, -1); }
30 bool operator==(
const Default& other)
const {
return type() == other.
type(); }
33 Type
type()
const {
return type::effectiveType(child<Type>(0)); }
37 bool isLhs()
const {
return false; }
41 auto isEqual(
const Ctor& other)
const {
return node::isEqual(
this, other); }
54 auto x = Ctor(d)._clone().as<
Default>();
56 for (
auto&& a : args )
57 x.childs().emplace_back(std::move(a));
static Ctor setTypeArguments(const Default &d, std::vector< hilti::Expression > args)
Definition: default.h:53
std::vector< T > childs(int begin, int end) const
Definition: node.h:373
Type type() const
Definition: default.h:33
Definition: optional.h:79
auto properties() const
Definition: default.h:44
auto isEqual(const Ctor &other) const
Definition: default.h:41
bool isConstant() const
Definition: default.h:35
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:83
Default(Type t, std::vector< Expression > type_args, Meta m=Meta())
Definition: default.h:25
Default(Type t, Meta m=Meta())
Definition: default.h:19
bool isLhs() const
Definition: default.h:37
auto isTemporary() const
Definition: default.h:39