struct StructPatternElements
{
private:
- std::vector<std::unique_ptr<StructPatternField> > fields;
+ std::vector<std::unique_ptr<StructPatternField>> fields;
public:
// Returns whether there are any struct pattern fields
// Constructor for StructPatternElements with both (potentially)
StructPatternElements (
- std::vector<std::unique_ptr<StructPatternField> > fields)
+ std::vector<std::unique_ptr<StructPatternField>> fields)
: fields (std::move (fields))
{}
static StructPatternElements create_empty ()
{
return StructPatternElements (
- std::vector<std::unique_ptr<StructPatternField> > ());
+ std::vector<std::unique_ptr<StructPatternField>> ());
}
std::string as_string () const;
- std::vector<std::unique_ptr<StructPatternField> > &
- get_struct_pattern_fields ()
+ std::vector<std::unique_ptr<StructPatternField>> &get_struct_pattern_fields ()
{
return fields;
}
// Class for non-ranged tuple struct pattern patterns
class TupleStructItemsNoRange : public TupleStructItems
{
- std::vector<std::unique_ptr<Pattern> > patterns;
+ std::vector<std::unique_ptr<Pattern>> patterns;
public:
- TupleStructItemsNoRange (std::vector<std::unique_ptr<Pattern> > patterns)
+ TupleStructItemsNoRange (std::vector<std::unique_ptr<Pattern>> patterns)
: patterns (std::move (patterns))
{}
void accept_vis (HIRFullVisitor &vis) override;
- std::vector<std::unique_ptr<Pattern> > &get_patterns () { return patterns; }
- const std::vector<std::unique_ptr<Pattern> > &get_patterns () const
+ std::vector<std::unique_ptr<Pattern>> &get_patterns () { return patterns; }
+ const std::vector<std::unique_ptr<Pattern>> &get_patterns () const
{
return patterns;
}
// Class for ranged tuple struct pattern patterns
class TupleStructItemsRange : public TupleStructItems
{
- std::vector<std::unique_ptr<Pattern> > lower_patterns;
- std::vector<std::unique_ptr<Pattern> > upper_patterns;
+ std::vector<std::unique_ptr<Pattern>> lower_patterns;
+ std::vector<std::unique_ptr<Pattern>> upper_patterns;
public:
- TupleStructItemsRange (std::vector<std::unique_ptr<Pattern> > lower_patterns,
- std::vector<std::unique_ptr<Pattern> > upper_patterns)
+ TupleStructItemsRange (std::vector<std::unique_ptr<Pattern>> lower_patterns,
+ std::vector<std::unique_ptr<Pattern>> upper_patterns)
: lower_patterns (std::move (lower_patterns)),
upper_patterns (std::move (upper_patterns))
{}
void accept_vis (HIRFullVisitor &vis) override;
- std::vector<std::unique_ptr<Pattern> > &get_lower_patterns ()
+ std::vector<std::unique_ptr<Pattern>> &get_lower_patterns ()
{
return lower_patterns;
}
- const std::vector<std::unique_ptr<Pattern> > &get_lower_patterns () const
+ const std::vector<std::unique_ptr<Pattern>> &get_lower_patterns () const
{
return lower_patterns;
}
// TODO: seems kinda dodgy. Think of better way.
- std::vector<std::unique_ptr<Pattern> > &get_upper_patterns ()
+ std::vector<std::unique_ptr<Pattern>> &get_upper_patterns ()
{
return upper_patterns;
}
- const std::vector<std::unique_ptr<Pattern> > &get_upper_patterns () const
+ const std::vector<std::unique_ptr<Pattern>> &get_upper_patterns () const
{
return upper_patterns;
}
// Class representing TuplePattern patterns where there are multiple patterns
class TuplePatternItemsMultiple : public TuplePatternItems
{
- std::vector<std::unique_ptr<Pattern> > patterns;
+ std::vector<std::unique_ptr<Pattern>> patterns;
public:
- TuplePatternItemsMultiple (std::vector<std::unique_ptr<Pattern> > patterns)
+ TuplePatternItemsMultiple (std::vector<std::unique_ptr<Pattern>> patterns)
: patterns (std::move (patterns))
{}
return TuplePatternItemType::MULTIPLE;
}
- std::vector<std::unique_ptr<Pattern> > &get_patterns () { return patterns; }
- const std::vector<std::unique_ptr<Pattern> > &get_patterns () const
+ std::vector<std::unique_ptr<Pattern>> &get_patterns () { return patterns; }
+ const std::vector<std::unique_ptr<Pattern>> &get_patterns () const
{
return patterns;
}
// Class representing TuplePattern patterns where there are a range of patterns
class TuplePatternItemsRanged : public TuplePatternItems
{
- std::vector<std::unique_ptr<Pattern> > lower_patterns;
- std::vector<std::unique_ptr<Pattern> > upper_patterns;
+ std::vector<std::unique_ptr<Pattern>> lower_patterns;
+ std::vector<std::unique_ptr<Pattern>> upper_patterns;
public:
- TuplePatternItemsRanged (
- std::vector<std::unique_ptr<Pattern> > lower_patterns,
- std::vector<std::unique_ptr<Pattern> > upper_patterns)
+ TuplePatternItemsRanged (std::vector<std::unique_ptr<Pattern>> lower_patterns,
+ std::vector<std::unique_ptr<Pattern>> upper_patterns)
: lower_patterns (std::move (lower_patterns)),
upper_patterns (std::move (upper_patterns))
{}
return TuplePatternItemType::RANGED;
}
- std::vector<std::unique_ptr<Pattern> > &get_lower_patterns ()
+ std::vector<std::unique_ptr<Pattern>> &get_lower_patterns ()
{
return lower_patterns;
}
- const std::vector<std::unique_ptr<Pattern> > &get_lower_patterns () const
+ const std::vector<std::unique_ptr<Pattern>> &get_lower_patterns () const
{
return lower_patterns;
}
- std::vector<std::unique_ptr<Pattern> > &get_upper_patterns ()
+ std::vector<std::unique_ptr<Pattern>> &get_upper_patterns ()
{
return upper_patterns;
}
- const std::vector<std::unique_ptr<Pattern> > &get_upper_patterns () const
+ const std::vector<std::unique_ptr<Pattern>> &get_upper_patterns () const
{
return upper_patterns;
}
// HIR node representing patterns that can match slices and arrays
class SlicePattern : public Pattern
{
- std::vector<std::unique_ptr<Pattern> > items;
+ std::vector<std::unique_ptr<Pattern>> items;
Location locus;
Analysis::NodeMapping mappings;
std::string as_string () const override;
SlicePattern (Analysis::NodeMapping mappings,
- std::vector<std::unique_ptr<Pattern> > items, Location locus)
+ std::vector<std::unique_ptr<Pattern>> items, Location locus)
: items (std::move (items)), locus (locus), mappings (mappings)
{}