LiteralExpr get_literal () const { return lit_expr; }
+ LiteralExpr &get_literal () { return lit_expr; }
+
void accept_vis (ASTVisitor &vis) override;
bool check_cfg_predicate (const Session &session) const override;
SimplePath get_path () const { return path; }
+ SimplePath &get_path () { return path; }
+
LiteralExpr get_literal () const { return lit; }
+ LiteralExpr &get_literal () { return lit; }
+
std::string as_string () const override
{
return path.as_string () + " = " + lit.as_string ();
// Returns whether the type param has an outer attribute.
bool has_outer_attribute () const { return !outer_attr.is_empty (); }
+ Attribute &get_outer_attribute () { return outer_attr; }
+
TypeParam (Identifier type_representation, location_t locus = UNDEF_LOCATION,
std::vector<std::unique_ptr<TypeParamBound>> type_param_bounds
= std::vector<std::unique_ptr<TypeParamBound>> (),
bool get_is_mut () const { return is_mut; }
Lifetime get_lifetime () const { return lifetime; }
+ Lifetime &get_lifetime () { return lifetime; }
NodeId get_node_id () const { return node_id; }
location_t get_locus () const override final { return locus; }
- FunctionQualifiers get_qualifiers () { return qualifiers; }
+ FunctionQualifiers get_qualifiers () const { return qualifiers; }
+
+ FunctionQualifiers &get_qualifiers () { return qualifiers; }
Visibility &get_visibility () { return vis; }
const Visibility &get_visibility () const { return vis; }
return path;
}
+ SimplePath &get_path () { return path; }
+
/* TODO: find way to ensure only PATH_PREFIXED glob_type has path - factory
* methods? */
protected:
return path;
}
+ SimplePath &get_path () { return path; }
+
std::vector<std::unique_ptr<UseTree>> &get_trees () { return trees; }
const std::vector<std::unique_ptr<UseTree>> &get_trees () const
return path;
}
+ SimplePath &get_path () { return path; }
+
const Identifier &get_identifier () const
{
rust_assert (has_identifier ());
const FunctionQualifiers &get_qualifiers () const { return qualifiers; }
+ FunctionQualifiers &get_qualifiers () { return qualifiers; }
+
Identifier get_function_name () const { return function_name; }
// TODO: is this better? Or is a "vis_block" better?
// TODO: is this better? Or is a "vis_block" better?
WhereClause &get_where_clause () { return where_clause; }
- FunctionQualifiers get_qualifiers () { return qualifiers; }
+ FunctionQualifiers get_qualifiers () const { return qualifiers; }
+ FunctionQualifiers &get_qualifiers () { return qualifiers; }
};
// Actual trait item function declaration within traits
SelfParam &get_self_param () { return self_param; }
const SelfParam &get_self_param () const { return self_param; }
- FunctionQualifiers get_qualifiers () { return qualifiers; }
+ FunctionQualifiers get_qualifiers () const { return qualifiers; }
+
+ FunctionQualifiers &get_qualifiers () { return qualifiers; }
};
// Actual trait item method declaration within traits