diff options
Diffstat (limited to 'gcc/rust/hir/tree/rust-hir-expr.h')
-rw-r--r-- | gcc/rust/hir/tree/rust-hir-expr.h | 181 |
1 files changed, 92 insertions, 89 deletions
diff --git a/gcc/rust/hir/tree/rust-hir-expr.h b/gcc/rust/hir/tree/rust-hir-expr.h index 46d7a80..f4f08d5 100644 --- a/gcc/rust/hir/tree/rust-hir-expr.h +++ b/gcc/rust/hir/tree/rust-hir-expr.h @@ -64,7 +64,7 @@ public: class LiteralExpr : public ExprWithoutBlock { Literal literal; - Location locus; + location_t locus; public: std::string as_string () const override @@ -77,13 +77,13 @@ public: LiteralExpr (Analysis::NodeMapping mappings, std::string value_as_string, Literal::LitType type, PrimitiveCoreType type_hint, - Location locus, AST::AttrVec outer_attrs) + location_t locus, AST::AttrVec outer_attrs) : ExprWithoutBlock (std::move (mappings), std::move (outer_attrs)), literal (std::move (value_as_string), type, type_hint), locus (locus) {} - LiteralExpr (Analysis::NodeMapping mappings, Literal literal, Location locus, - AST::AttrVec outer_attrs) + LiteralExpr (Analysis::NodeMapping mappings, Literal literal, + location_t locus, AST::AttrVec outer_attrs) : ExprWithoutBlock (std::move (mappings), std::move (outer_attrs)), literal (std::move (literal)), locus (locus) {} @@ -133,7 +133,7 @@ class OperatorExpr : public ExprWithoutBlock { // TODO: create binary and unary operator subclasses? public: - Location locus; + location_t locus; protected: /* Variable must be protected to allow derived classes to use it as a first @@ -143,7 +143,7 @@ protected: // Constructor (only for initialisation of expr purposes) OperatorExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> main_or_left_expr, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), locus (locus), main_or_left_expr (std::move (main_or_left_expr)) {} @@ -192,7 +192,7 @@ public: BorrowExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> borrow_lvalue, Mutability mut, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : OperatorExpr (std::move (mappings), std::move (borrow_lvalue), std::move (outer_attribs), locus), mut (mut) @@ -231,7 +231,7 @@ public: // Constructor calls OperatorExpr's protected constructor DereferenceExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> deref_lvalue, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : OperatorExpr (std::move (mappings), std::move (deref_lvalue), std::move (outer_attribs), locus) {} @@ -264,7 +264,7 @@ public: // Constructor calls OperatorExpr's protected constructor ErrorPropagationExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> potential_error_value, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : OperatorExpr (std::move (mappings), std::move (potential_error_value), std::move (outer_attribs), locus) {} @@ -308,7 +308,7 @@ public: // Constructor calls OperatorExpr's protected constructor NegationExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> negated_value, ExprType expr_kind, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : OperatorExpr (std::move (mappings), std::move (negated_value), std::move (outer_attribs), locus), expr_type (expr_kind) @@ -354,7 +354,7 @@ public: ArithmeticOrLogicalExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> left_value, std::unique_ptr<Expr> right_value, - ExprType expr_kind, Location locus) + ExprType expr_kind, location_t locus) : OperatorExpr (std::move (mappings), std::move (left_value), AST::AttrVec (), locus), expr_type (expr_kind), right_expr (std::move (right_value)) @@ -429,7 +429,7 @@ public: ComparisonExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> left_value, std::unique_ptr<Expr> right_value, ExprType comparison_kind, - Location locus) + location_t locus) : OperatorExpr (std::move (mappings), std::move (left_value), AST::AttrVec (), locus), expr_type (comparison_kind), right_expr (std::move (right_value)) @@ -500,7 +500,7 @@ public: LazyBooleanExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> left_bool_expr, std::unique_ptr<Expr> right_bool_expr, ExprType expr_kind, - Location locus) + location_t locus) : OperatorExpr (std::move (mappings), std::move (left_bool_expr), AST::AttrVec (), locus), expr_type (expr_kind), right_expr (std::move (right_bool_expr)) @@ -566,7 +566,7 @@ public: // Constructor requires calling protected constructor of OperatorExpr TypeCastExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> expr_to_cast, - std::unique_ptr<Type> type_to_cast_to, Location locus) + std::unique_ptr<Type> type_to_cast_to, location_t locus) : OperatorExpr (std::move (mappings), std::move (expr_to_cast), AST::AttrVec (), locus), type_to_convert_to (std::move (type_to_cast_to)) @@ -631,7 +631,7 @@ public: // Call OperatorExpr constructor to initialise left_expr AssignmentExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> value_to_assign_to, - std::unique_ptr<Expr> value_to_assign, Location locus) + std::unique_ptr<Expr> value_to_assign, location_t locus) : OperatorExpr (std::move (mappings), std::move (value_to_assign_to), AST::AttrVec (), locus), right_expr (std::move (value_to_assign)) @@ -702,7 +702,7 @@ public: CompoundAssignmentExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> value_to_assign_to, std::unique_ptr<Expr> value_to_assign, - ExprType expr_kind, Location locus) + ExprType expr_kind, location_t locus) : OperatorExpr (std::move (mappings), std::move (value_to_assign_to), AST::AttrVec (), locus), expr_type (expr_kind), right_expr (std::move (value_to_assign)) @@ -755,7 +755,7 @@ class GroupedExpr : public ExprWithoutBlock, public WithInnerAttrs { std::unique_ptr<Expr> expr_in_parens; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -763,7 +763,7 @@ public: GroupedExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> parenthesised_expr, AST::AttrVec inner_attribs, AST::AttrVec outer_attribs, - Location locus) + location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), WithInnerAttrs (std::move (inner_attribs)), expr_in_parens (std::move (parenthesised_expr)), locus (locus) @@ -969,7 +969,7 @@ class ArrayExpr : public ExprWithoutBlock, public WithInnerAttrs { std::unique_ptr<ArrayElems> internal_elements; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -981,7 +981,7 @@ public: ArrayExpr (Analysis::NodeMapping mappings, std::unique_ptr<ArrayElems> array_elems, AST::AttrVec inner_attribs, AST::AttrVec outer_attribs, - Location locus) + location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), WithInnerAttrs (std::move (inner_attribs)), internal_elements (std::move (array_elems)), locus (locus) @@ -1046,7 +1046,7 @@ class ArrayIndexExpr : public ExprWithoutBlock std::unique_ptr<Expr> array_expr; std::unique_ptr<Expr> index_expr; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -1054,7 +1054,7 @@ public: ArrayIndexExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> array_expr, std::unique_ptr<Expr> array_index_expr, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), array_expr (std::move (array_expr)), index_expr (std::move (array_index_expr)), locus (locus) @@ -1117,7 +1117,7 @@ class TupleExpr : public ExprWithoutBlock, public WithInnerAttrs std::vector<std::unique_ptr<Expr> > tuple_elems; // replaces (inlined version of) TupleElements - Location locus; + location_t locus; public: std::string as_string () const override; @@ -1125,7 +1125,7 @@ public: TupleExpr (Analysis::NodeMapping mappings, std::vector<std::unique_ptr<Expr> > tuple_elements, AST::AttrVec inner_attribs, AST::AttrVec outer_attribs, - Location locus) + location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), WithInnerAttrs (std::move (inner_attribs)), tuple_elems (std::move (tuple_elements)), locus (locus) @@ -1200,7 +1200,7 @@ class TupleIndexExpr : public ExprWithoutBlock { std::unique_ptr<Expr> tuple_expr; TupleIndex tuple_index; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -1209,7 +1209,7 @@ public: TupleIndexExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> tuple_expr, TupleIndex index, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), tuple_expr (std::move (tuple_expr)), tuple_index (index), locus (locus) {} @@ -1291,7 +1291,7 @@ public: // Actual HIR node of the struct creator (with no fields). Not abstract! class StructExprStruct : public StructExpr, public WithInnerAttrs { - Location locus; + location_t locus; public: std::string as_string () const override; @@ -1299,7 +1299,7 @@ public: // Constructor has to call protected constructor of base class StructExprStruct (Analysis::NodeMapping mappings, PathInExpression struct_path, AST::AttrVec inner_attribs, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : StructExpr (std::move (mappings), std::move (struct_path), std::move (outer_attribs)), WithInnerAttrs (std::move (inner_attribs)), locus (locus) @@ -1408,12 +1408,12 @@ protected: // pure virtual clone implementation virtual StructExprField *clone_struct_expr_field_impl () const = 0; - StructExprField (Analysis::NodeMapping mapping, Location locus) + StructExprField (Analysis::NodeMapping mapping, location_t locus) : mappings (mapping), locus (locus) {} Analysis::NodeMapping mappings; - Location locus; + location_t locus; }; // Identifier-only variant of StructExprField HIR node @@ -1425,7 +1425,7 @@ private: // TODO: should this store location data? public: StructExprFieldIdentifier (Analysis::NodeMapping mapping, - Identifier field_identifier, Location locus) + Identifier field_identifier, location_t locus) : StructExprField (mapping, locus), field_name (std::move (field_identifier)) {} @@ -1459,7 +1459,7 @@ class StructExprFieldWithVal : public StructExprField protected: StructExprFieldWithVal (Analysis::NodeMapping mapping, - std::unique_ptr<Expr> field_value, Location locus) + std::unique_ptr<Expr> field_value, location_t locus) : StructExprField (mapping, locus), value (std::move (field_value)) {} @@ -1500,7 +1500,7 @@ public: StructExprFieldIdentifierValue (Analysis::NodeMapping mapping, Identifier field_identifier, std::unique_ptr<Expr> field_value, - Location locus) + location_t locus) : StructExprFieldWithVal (mapping, std::move (field_value), locus), field_name (std::move (field_identifier)) {} @@ -1534,7 +1534,8 @@ public: StructExprFieldIndexValue (Analysis::NodeMapping mapping, TupleIndex tuple_index, - std::unique_ptr<Expr> field_value, Location locus) + std::unique_ptr<Expr> field_value, + location_t locus) : StructExprFieldWithVal (mapping, std::move (field_value), locus), index (tuple_index) {} @@ -1582,8 +1583,9 @@ public: // Constructor for StructExprStructFields when no struct base is used StructExprStructFields ( Analysis::NodeMapping mappings, PathInExpression struct_path, - std::vector<std::unique_ptr<StructExprField> > expr_fields, Location locus, - StructBase *base_struct, AST::AttrVec inner_attribs = AST::AttrVec (), + std::vector<std::unique_ptr<StructExprField> > expr_fields, + location_t locus, StructBase *base_struct, + AST::AttrVec inner_attribs = AST::AttrVec (), AST::AttrVec outer_attribs = AST::AttrVec ()) : StructExprStruct (std::move (mappings), std::move (struct_path), std::move (inner_attribs), std::move (outer_attribs), @@ -1671,7 +1673,7 @@ public: StructExprStructBase (Analysis::NodeMapping mappings, PathInExpression struct_path, StructBase base_struct, AST::AttrVec inner_attribs, AST::AttrVec outer_attribs, - Location locus) + location_t locus) : StructExprStruct (std::move (mappings), std::move (struct_path), std::move (inner_attribs), std::move (outer_attribs), locus), @@ -1704,14 +1706,14 @@ class CallExpr : public ExprWithoutBlock { std::unique_ptr<Expr> function; std::vector<std::unique_ptr<Expr> > params; - Location locus; + location_t locus; public: std::string as_string () const override; CallExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> function_expr, std::vector<std::unique_ptr<Expr> > function_params, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), function (std::move (function_expr)), params (std::move (function_params)), locus (locus) @@ -1790,7 +1792,7 @@ class MethodCallExpr : public ExprWithoutBlock std::unique_ptr<Expr> receiver; PathExprSegment method_name; std::vector<std::unique_ptr<Expr> > params; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -1799,7 +1801,7 @@ public: std::unique_ptr<Expr> call_receiver, PathExprSegment method_path, std::vector<std::unique_ptr<Expr> > method_params, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), receiver (std::move (call_receiver)), method_name (std::move (method_path)), params (std::move (method_params)), @@ -1885,7 +1887,7 @@ class FieldAccessExpr : public ExprWithoutBlock std::unique_ptr<Expr> receiver; Identifier field; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -1893,7 +1895,7 @@ public: FieldAccessExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> field_access_receiver, Identifier field_name, AST::AttrVec outer_attribs, - Location locus) + location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), receiver (std::move (field_access_receiver)), field (std::move (field_name)), locus (locus) @@ -1958,14 +1960,14 @@ private: std::vector<AST::Attribute> outer_attrs; std::unique_ptr<Pattern> pattern; std::unique_ptr<Type> type; - Location locus; + location_t locus; public: // Returns whether the type of the parameter has been given. bool has_type_given () const { return type != nullptr; } // Constructor for closure parameter - ClosureParam (std::unique_ptr<Pattern> param_pattern, Location locus, + ClosureParam (std::unique_ptr<Pattern> param_pattern, location_t locus, std::unique_ptr<Type> param_type = nullptr, std::vector<AST::Attribute> outer_attrs = {}) : outer_attrs (std::move (outer_attrs)), @@ -2029,7 +2031,7 @@ class ClosureExpr : public ExprWithoutBlock private: bool has_move; std::vector<ClosureParam> params; - Location locus; + location_t locus; std::unique_ptr<Type> return_type; std::unique_ptr<Expr> expr; @@ -2038,7 +2040,7 @@ public: std::vector<ClosureParam> closure_params, std::unique_ptr<Type> closure_return_type, std::unique_ptr<Expr> closure_expr, bool has_move, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), has_move (has_move), params (std::move (closure_params)), locus (locus), return_type (std::move (closure_return_type)), @@ -2236,7 +2238,7 @@ protected: class ContinueExpr : public ExprWithoutBlock { Lifetime label; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -2245,8 +2247,8 @@ public: bool has_label () const { return !label.is_error (); } // Constructor for a ContinueExpr with a label. - ContinueExpr (Analysis::NodeMapping mappings, Location locus, Lifetime label, - AST::AttrVec outer_attribs = AST::AttrVec ()) + ContinueExpr (Analysis::NodeMapping mappings, location_t locus, + Lifetime label, AST::AttrVec outer_attribs = AST::AttrVec ()) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), label (std::move (label)), locus (locus) {} @@ -2288,7 +2290,7 @@ class BreakExpr : public ExprWithoutBlock // bool has_break_expr; std::unique_ptr<Expr> break_expr; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -2301,7 +2303,7 @@ public: bool has_break_expr () const { return break_expr != nullptr; } // Constructor for a break expression - BreakExpr (Analysis::NodeMapping mappings, Location locus, + BreakExpr (Analysis::NodeMapping mappings, location_t locus, Lifetime break_label, std::unique_ptr<Expr> expr_in_break = nullptr, AST::AttrVec outer_attribs = AST::AttrVec ()) @@ -2365,11 +2367,11 @@ protected: // Base range expression HIR node object - abstract class RangeExpr : public ExprWithoutBlock { - Location locus; + location_t locus; protected: // outer attributes not allowed before range expressions - RangeExpr (Analysis::NodeMapping mappings, Location locus) + RangeExpr (Analysis::NodeMapping mappings, location_t locus) : ExprWithoutBlock (std::move (mappings), AST::AttrVec ()), locus (locus) {} @@ -2394,7 +2396,7 @@ public: RangeFromToExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> range_from, - std::unique_ptr<Expr> range_to, Location locus) + std::unique_ptr<Expr> range_to, location_t locus) : RangeExpr (std::move (mappings), locus), from (std::move (range_from)), to (std::move (range_to)) {} @@ -2451,7 +2453,7 @@ public: std::string as_string () const override; RangeFromExpr (Analysis::NodeMapping mappings, - std::unique_ptr<Expr> range_from, Location locus) + std::unique_ptr<Expr> range_from, location_t locus) : RangeExpr (std::move (mappings), locus), from (std::move (range_from)) {} @@ -2505,7 +2507,7 @@ public: // outer attributes not allowed RangeToExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> range_to, - Location locus) + location_t locus) : RangeExpr (std::move (mappings), locus), to (std::move (range_to)) {} @@ -2555,7 +2557,7 @@ class RangeFullExpr : public RangeExpr public: std::string as_string () const override; - RangeFullExpr (Analysis::NodeMapping mappings, Location locus) + RangeFullExpr (Analysis::NodeMapping mappings, location_t locus) : RangeExpr (std::move (mappings), locus) {} // outer attributes not allowed @@ -2591,7 +2593,7 @@ public: RangeFromToInclExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> range_from, - std::unique_ptr<Expr> range_to, Location locus) + std::unique_ptr<Expr> range_to, location_t locus) : RangeExpr (std::move (mappings), locus), from (std::move (range_from)), to (std::move (range_to)) {} @@ -2649,7 +2651,7 @@ public: std::string as_string () const override; RangeToInclExpr (Analysis::NodeMapping mappings, - std::unique_ptr<Expr> range_to, Location locus) + std::unique_ptr<Expr> range_to, location_t locus) : RangeExpr (std::move (mappings), locus), to (std::move (range_to)) {} // outer attributes not allowed @@ -2699,7 +2701,7 @@ class ReturnExpr : public ExprWithoutBlock public: std::unique_ptr<Expr> return_expr; - Location locus; + location_t locus; std::string as_string () const override; @@ -2708,7 +2710,7 @@ public: bool has_return_expr () const { return return_expr != nullptr; } // Constructor for ReturnExpr. - ReturnExpr (Analysis::NodeMapping mappings, Location locus, + ReturnExpr (Analysis::NodeMapping mappings, location_t locus, std::unique_ptr<Expr> returned_expr = nullptr, AST::AttrVec outer_attribs = AST::AttrVec ()) : ExprWithoutBlock (std::move (mappings), std::move (outer_attribs)), @@ -2772,14 +2774,14 @@ class UnsafeBlockExpr : public ExprWithBlock { // Or just have it extend BlockExpr std::unique_ptr<BlockExpr> expr; - Location locus; + location_t locus; public: std::string as_string () const override; UnsafeBlockExpr (Analysis::NodeMapping mappings, std::unique_ptr<BlockExpr> block_expr, - AST::AttrVec outer_attribs, Location locus) + AST::AttrVec outer_attribs, location_t locus) : ExprWithBlock (std::move (mappings), std::move (outer_attribs)), expr (std::move (block_expr)), locus (locus) {} @@ -2839,14 +2841,15 @@ class LoopLabel /*: public Node*/ { Lifetime label; // or type LIFETIME_OR_LABEL - Location locus; + location_t locus; Analysis::NodeMapping mappings; public: std::string as_string () const; - LoopLabel (Analysis::NodeMapping mapping, Lifetime loop_label, Location locus) + LoopLabel (Analysis::NodeMapping mapping, Lifetime loop_label, + location_t locus) : label (std::move (loop_label)), locus (locus), mappings (mapping) {} @@ -2868,12 +2871,12 @@ protected: std::unique_ptr<BlockExpr> loop_block; private: - Location locus; + location_t locus; protected: // Constructor for BaseLoopExpr BaseLoopExpr (Analysis::NodeMapping mappings, - std::unique_ptr<BlockExpr> loop_block, Location locus, + std::unique_ptr<BlockExpr> loop_block, location_t locus, LoopLabel loop_label, AST::AttrVec outer_attribs = AST::AttrVec ()) : ExprWithBlock (std::move (mappings), std::move (outer_attribs)), @@ -2926,7 +2929,7 @@ public: // Constructor for LoopExpr LoopExpr (Analysis::NodeMapping mappings, - std::unique_ptr<BlockExpr> loop_block, Location locus, + std::unique_ptr<BlockExpr> loop_block, location_t locus, LoopLabel loop_label, AST::AttrVec outer_attribs = AST::AttrVec ()) : BaseLoopExpr (std::move (mappings), std::move (loop_block), locus, std::move (loop_label), std::move (outer_attribs)) @@ -2959,7 +2962,7 @@ public: // Constructor for while loop with loop label WhileLoopExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> loop_condition, - std::unique_ptr<BlockExpr> loop_block, Location locus, + std::unique_ptr<BlockExpr> loop_block, location_t locus, LoopLabel loop_label, AST::AttrVec outer_attribs = AST::AttrVec ()) : BaseLoopExpr (std::move (mappings), std::move (loop_block), locus, @@ -3023,7 +3026,7 @@ public: WhileLetLoopExpr (Analysis::NodeMapping mappings, std::vector<std::unique_ptr<Pattern> > match_arm_patterns, std::unique_ptr<Expr> condition, - std::unique_ptr<BlockExpr> loop_block, Location locus, + std::unique_ptr<BlockExpr> loop_block, location_t locus, LoopLabel loop_label, AST::AttrVec outer_attribs = AST::AttrVec ()) : BaseLoopExpr (std::move (mappings), std::move (loop_block), locus, @@ -3102,7 +3105,7 @@ public: ForLoopExpr (Analysis::NodeMapping mappings, std::unique_ptr<Pattern> loop_pattern, std::unique_ptr<Expr> iterator_expr, - std::unique_ptr<BlockExpr> loop_body, Location locus, + std::unique_ptr<BlockExpr> loop_body, location_t locus, LoopLabel loop_label, AST::AttrVec outer_attribs = AST::AttrVec ()) : BaseLoopExpr (std::move (mappings), std::move (loop_body), locus, @@ -3165,13 +3168,13 @@ class IfExpr : public ExprWithBlock std::unique_ptr<Expr> condition; std::unique_ptr<BlockExpr> if_block; - Location locus; + location_t locus; public: std::string as_string () const override; IfExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> condition, - std::unique_ptr<BlockExpr> if_block, Location locus) + std::unique_ptr<BlockExpr> if_block, location_t locus) : ExprWithBlock (std::move (mappings), AST::AttrVec ()), condition (std::move (condition)), if_block (std::move (if_block)), locus (locus) @@ -3249,7 +3252,7 @@ public: IfExprConseqElse (Analysis::NodeMapping mappings, std::unique_ptr<Expr> condition, std::unique_ptr<BlockExpr> if_block, - std::unique_ptr<ExprWithBlock> else_block, Location locus) + std::unique_ptr<ExprWithBlock> else_block, location_t locus) : IfExpr (std::move (mappings), std::move (condition), std::move (if_block), locus), else_block (std::move (else_block)) @@ -3314,7 +3317,7 @@ class IfLetExpr : public ExprWithBlock std::unique_ptr<Expr> value; std::unique_ptr<BlockExpr> if_block; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -3322,7 +3325,7 @@ public: IfLetExpr (Analysis::NodeMapping mappings, std::vector<std::unique_ptr<Pattern> > match_arm_patterns, std::unique_ptr<Expr> value, std::unique_ptr<BlockExpr> if_block, - Location locus) + location_t locus) : ExprWithBlock (std::move (mappings), AST::AttrVec ()), match_arm_patterns (std::move (match_arm_patterns)), value (std::move (value)), if_block (std::move (if_block)), locus (locus) @@ -3418,7 +3421,7 @@ public: Analysis::NodeMapping mappings, std::vector<std::unique_ptr<Pattern> > match_arm_patterns, std::unique_ptr<Expr> value, std::unique_ptr<BlockExpr> if_block, - std::unique_ptr<ExprWithBlock> else_block, Location locus) + std::unique_ptr<ExprWithBlock> else_block, location_t locus) : IfLetExpr (std::move (mappings), std::move (match_arm_patterns), std::move (value), std::move (if_block), locus), else_block (std::move (else_block)) @@ -3484,7 +3487,7 @@ private: AST::AttrVec outer_attrs; std::vector<std::unique_ptr<Pattern> > match_arm_patterns; std::unique_ptr<Expr> guard_expr; - Location locus; + location_t locus; public: // Returns whether the MatchArm has a match arm guard expression @@ -3492,7 +3495,7 @@ public: // Constructor for match arm with a guard expression MatchArm (std::vector<std::unique_ptr<Pattern> > match_arm_patterns, - Location locus, std::unique_ptr<Expr> guard_expr = nullptr, + location_t locus, std::unique_ptr<Expr> guard_expr = nullptr, AST::AttrVec outer_attrs = AST::AttrVec ()) : outer_attrs (std::move (outer_attrs)), match_arm_patterns (std::move (match_arm_patterns)), @@ -3541,7 +3544,7 @@ public: // Creates a match arm in an error state. static MatchArm create_error () { - Location locus = UNDEF_LOCATION; + location_t locus = UNDEF_LOCATION; return MatchArm (std::vector<std::unique_ptr<Pattern> > (), locus); } @@ -3604,7 +3607,7 @@ class MatchExpr : public ExprWithBlock, public WithInnerAttrs { std::unique_ptr<Expr> branch_value; std::vector<MatchCase> match_arms; - Location locus; + location_t locus; public: std::string as_string () const override; @@ -3613,7 +3616,7 @@ public: MatchExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> branch_value, std::vector<MatchCase> match_arms, AST::AttrVec inner_attrs, - AST::AttrVec outer_attrs, Location locus) + AST::AttrVec outer_attrs, location_t locus) : ExprWithBlock (std::move (mappings), std::move (outer_attrs)), WithInnerAttrs (std::move (inner_attrs)), branch_value (std::move (branch_value)), @@ -3684,12 +3687,12 @@ protected: class AwaitExpr : public ExprWithoutBlock { std::unique_ptr<Expr> awaited_expr; - Location locus; + location_t locus; public: // TODO: ensure outer attributes are actually allowed AwaitExpr (Analysis::NodeMapping mappings, std::unique_ptr<Expr> awaited_expr, - AST::AttrVec outer_attrs, Location locus) + AST::AttrVec outer_attrs, location_t locus) : ExprWithoutBlock (std::move (mappings), std::move (outer_attrs)), awaited_expr (std::move (awaited_expr)), locus (locus) {} @@ -3742,12 +3745,12 @@ class AsyncBlockExpr : public ExprWithBlock { bool has_move; std::unique_ptr<BlockExpr> block_expr; - Location locus; + location_t locus; public: AsyncBlockExpr (Analysis::NodeMapping mappings, std::unique_ptr<BlockExpr> block_expr, bool has_move, - AST::AttrVec outer_attrs, Location locus) + AST::AttrVec outer_attrs, location_t locus) : ExprWithBlock (std::move (mappings), std::move (outer_attrs)), has_move (has_move), block_expr (std::move (block_expr)), locus (locus) {} @@ -3843,7 +3846,7 @@ public: private: const Analysis::NodeMapping node_mappings; const Analysis::NodeMapping lvalue_mappings; - Location locus; + location_t locus; }; class InlineAsmReg @@ -3919,7 +3922,7 @@ struct InlineAsmRegOrRegClass }; Identifier name; - Location locus; + location_t locus; }; // Inline Assembly Node |