aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/parse/rust-parse-impl.h
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2023-07-10 16:21:36 -0400
committerArthur Cohen <arthur.cohen@embecosm.com>2024-01-16 18:55:59 +0100
commit80c68893f446bf883c67dd78c317b5c0f0f55f4f (patch)
treed651782c2a914046c3033bf01ed3e68334232385 /gcc/rust/parse/rust-parse-impl.h
parentd686ffaf26b3da16d1ea6e61f88f0a546bb33cf0 (diff)
downloadgcc-80c68893f446bf883c67dd78c317b5c0f0f55f4f.zip
gcc-80c68893f446bf883c67dd78c317b5c0f0f55f4f.tar.gz
gcc-80c68893f446bf883c67dd78c317b5c0f0f55f4f.tar.bz2
gccrs: Replace Location with location_t in parsing and macro expansion
gcc/rust/ChangeLog: * expand/rust-derive-clone.cc: Replace Location with location_t. * expand/rust-derive-clone.h: Likewise. * expand/rust-derive-copy.cc: Likewise. * expand/rust-derive-copy.h: Likewise. * expand/rust-derive.cc: Likewise. * expand/rust-derive.h: Likewise. * expand/rust-macro-builtins.cc: Likewise. * expand/rust-macro-builtins.h: Likewise. * expand/rust-macro-expand.cc: Likewise. * parse/rust-parse-impl.h: Likewise. * parse/rust-parse.cc: Likewise. * parse/rust-parse.h: Likewise. Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc/rust/parse/rust-parse-impl.h')
-rw-r--r--gcc/rust/parse/rust-parse-impl.h86
1 files changed, 43 insertions, 43 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h
index 3476128..d8d82b3 100644
--- a/gcc/rust/parse/rust-parse-impl.h
+++ b/gcc/rust/parse/rust-parse-impl.h
@@ -485,7 +485,7 @@ Parser<ManagedTokenSource>::parse_inner_attributes ()
// Parse a inner or outer doc comment into an doc attribute
template <typename ManagedTokenSource>
-std::tuple<AST::SimplePath, std::unique_ptr<AST::AttrInput>, Location>
+std::tuple<AST::SimplePath, std::unique_ptr<AST::AttrInput>, location_t>
Parser<ManagedTokenSource>::parse_doc_comment ()
{
const_TokenPtr token = lexer.peek_token ();
@@ -556,7 +556,7 @@ Parser<ManagedTokenSource>::parse_inner_attribute ()
// Parses the body of an attribute (inner or outer).
template <typename ManagedTokenSource>
-std::tuple<AST::SimplePath, std::unique_ptr<AST::AttrInput>, Location>
+std::tuple<AST::SimplePath, std::unique_ptr<AST::AttrInput>, location_t>
Parser<ManagedTokenSource>::parse_attribute_body ()
{
location_t locus = lexer.peek_token ()->get_locus ();
@@ -918,7 +918,7 @@ Parser<ManagedTokenSource>::parse_delim_token_tree ()
{
const_TokenPtr t = lexer.peek_token ();
lexer.skip_token ();
- Location initial_loc = t->get_locus ();
+ location_t initial_loc = t->get_locus ();
// save delim type to ensure it is reused later
AST::DelimType delim_type = AST::PARENS;
@@ -1425,7 +1425,7 @@ Parser<ManagedTokenSource>::parse_macro_rules_def (AST::AttrVec outer_attrs)
return nullptr;
}
lexer.skip_token ();
- Location macro_locus = t->get_locus ();
+ location_t macro_locus = t->get_locus ();
if (!skip_token (EXCLAM))
{
@@ -1588,7 +1588,7 @@ Parser<ManagedTokenSource>::parse_decl_macro_def (AST::Visibility vis,
return nullptr;
}
lexer.skip_token ();
- Location macro_locus = t->get_locus ();
+ location_t macro_locus = t->get_locus ();
// parse macro name
const_TokenPtr ident_tok = expect_token (IDENTIFIER);
@@ -1619,7 +1619,7 @@ Parser<ManagedTokenSource>::parse_decl_macro_def (AST::Visibility vis,
return nullptr;
}
- Location transcriber_loc = lexer.peek_token ()->get_locus ();
+ location_t transcriber_loc = lexer.peek_token ()->get_locus ();
AST::DelimTokenTree delim_tok_tree = parse_delim_token_tree ();
AST::MacroTranscriber transcriber (delim_tok_tree, transcriber_loc);
@@ -1734,7 +1734,7 @@ std::unique_ptr<AST::MacroInvocation>
Parser<ManagedTokenSource>::parse_macro_invocation_semi (
AST::AttrVec outer_attrs)
{
- Location macro_locus = lexer.peek_token ()->get_locus ();
+ location_t macro_locus = lexer.peek_token ()->get_locus ();
AST::SimplePath path = parse_simple_path ();
if (!skip_token (EXCLAM))
@@ -1767,7 +1767,7 @@ Parser<ManagedTokenSource>::parse_macro_invocation_semi (
return nullptr;
}
- Location tok_tree_locus = t->get_locus ();
+ location_t tok_tree_locus = t->get_locus ();
lexer.skip_token ();
// parse actual token trees
@@ -1878,7 +1878,7 @@ Parser<ManagedTokenSource>::parse_macro_invocation (AST::AttrVec outer_attrs)
// parse internal delim token tree
AST::DelimTokenTree delim_tok_tree = parse_delim_token_tree ();
- Location macro_locus = macro_path.get_locus ();
+ location_t macro_locus = macro_path.get_locus ();
return AST::MacroInvocation::Regular (
AST::MacroInvocData (std::move (macro_path), std::move (delim_tok_tree)),
@@ -1905,7 +1905,7 @@ Parser<ManagedTokenSource>::parse_macro_rule ()
}
// parse transcriber (this is just a delim token tree)
- Location token_tree_loc = lexer.peek_token ()->get_locus ();
+ location_t token_tree_loc = lexer.peek_token ()->get_locus ();
AST::MacroTranscriber transcriber (parse_delim_token_tree (), token_tree_loc);
return AST::MacroRule (std::move (matcher), std::move (transcriber), locus);
@@ -2114,7 +2114,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::MacroMatchFragment>
Parser<ManagedTokenSource>::parse_macro_match_fragment ()
{
- Location fragment_locus = lexer.peek_token ()->get_locus ();
+ location_t fragment_locus = lexer.peek_token ()->get_locus ();
skip_token (DOLLAR_SIGN);
Identifier ident;
@@ -6114,7 +6114,7 @@ Parser<ManagedTokenSource>::parse_named_function_param (
std::string name;
const_TokenPtr t = lexer.peek_token ();
- Location name_location = t->get_locus ();
+ location_t name_location = t->get_locus ();
switch (t->get_id ())
{
case IDENTIFIER:
@@ -6666,7 +6666,7 @@ Parser<ManagedTokenSource>::parse_type_path_segment ()
// Parses a function call representation inside a type path.
template <typename ManagedTokenSource>
AST::TypePathFunction
-Parser<ManagedTokenSource>::parse_type_path_function (Location id_location)
+Parser<ManagedTokenSource>::parse_type_path_function (location_t id_location)
{
if (!skip_token (LEFT_PAREN))
{
@@ -6819,7 +6819,7 @@ Parser<ManagedTokenSource>::parse_path_expr_segment ()
template <typename ManagedTokenSource>
AST::QualifiedPathInExpression
Parser<ManagedTokenSource>::parse_qualified_path_in_expression (
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
/* Note: the Rust grammar is defined in such a way that it is impossible to
* determine whether a prospective qualified path is a
@@ -6901,7 +6901,7 @@ Parser<ManagedTokenSource>::parse_qualified_path_in_expression (
template <typename ManagedTokenSource>
AST::QualifiedPathType
Parser<ManagedTokenSource>::parse_qualified_path_type (
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
/* TODO: should this actually be error? is there anywhere where this could
@@ -7335,7 +7335,7 @@ Parser<ManagedTokenSource>::parse_expr_stmt (AST::AttrVec outer_attrs,
template <typename ManagedTokenSource>
std::unique_ptr<AST::BlockExpr>
Parser<ManagedTokenSource>::parse_block_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -7382,7 +7382,7 @@ Parser<ManagedTokenSource>::parse_block_expr (AST::AttrVec outer_attrs,
}
}
- Location end_locus = t->get_locus ();
+ location_t end_locus = t->get_locus ();
if (!skip_token (RIGHT_CURLY))
{
@@ -7639,7 +7639,7 @@ Parser<ManagedTokenSource>::parse_literal_expr (AST::AttrVec outer_attrs)
template <typename ManagedTokenSource>
std::unique_ptr<AST::ReturnExpr>
Parser<ManagedTokenSource>::parse_return_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -7664,7 +7664,7 @@ Parser<ManagedTokenSource>::parse_return_expr (AST::AttrVec outer_attrs,
template <typename ManagedTokenSource>
std::unique_ptr<AST::BreakExpr>
Parser<ManagedTokenSource>::parse_break_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -7695,7 +7695,7 @@ Parser<ManagedTokenSource>::parse_break_expr (AST::AttrVec outer_attrs,
template <typename ManagedTokenSource>
std::unique_ptr<AST::ContinueExpr>
Parser<ManagedTokenSource>::parse_continue_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -7745,7 +7745,7 @@ Parser<ManagedTokenSource>::parse_loop_label (const_TokenPtr tok)
template <typename ManagedTokenSource>
std::unique_ptr<AST::IfExpr>
Parser<ManagedTokenSource>::parse_if_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
// TODO: make having outer attributes an error?
location_t locus = pratt_parsed_loc;
@@ -7903,7 +7903,7 @@ Parser<ManagedTokenSource>::parse_if_expr (AST::AttrVec outer_attrs,
template <typename ManagedTokenSource>
std::unique_ptr<AST::IfLetExpr>
Parser<ManagedTokenSource>::parse_if_let_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
// TODO: make having outer attributes an error?
location_t locus = pratt_parsed_loc;
@@ -8090,7 +8090,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::LoopExpr>
Parser<ManagedTokenSource>::parse_loop_expr (AST::AttrVec outer_attrs,
AST::LoopLabel label,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -8134,7 +8134,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::WhileLoopExpr>
Parser<ManagedTokenSource>::parse_while_loop_expr (AST::AttrVec outer_attrs,
AST::LoopLabel label,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -8410,7 +8410,7 @@ Parser<ManagedTokenSource>::parse_labelled_loop_expr (const_TokenPtr tok,
template <typename ManagedTokenSource>
std::unique_ptr<AST::MatchExpr>
Parser<ManagedTokenSource>::parse_match_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -8695,8 +8695,8 @@ Parser<ManagedTokenSource>::parse_async_block_expr (AST::AttrVec outer_attrs)
// Parses an unsafe block expression.
template <typename ManagedTokenSource>
std::unique_ptr<AST::UnsafeBlockExpr>
-Parser<ManagedTokenSource>::parse_unsafe_block_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+Parser<ManagedTokenSource>::parse_unsafe_block_expr (
+ AST::AttrVec outer_attrs, location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -8727,7 +8727,7 @@ Parser<ManagedTokenSource>::parse_unsafe_block_expr (AST::AttrVec outer_attrs,
template <typename ManagedTokenSource>
std::unique_ptr<AST::ArrayExpr>
Parser<ManagedTokenSource>::parse_array_expr (AST::AttrVec outer_attrs,
- Location pratt_parsed_loc)
+ location_t pratt_parsed_loc)
{
location_t locus = pratt_parsed_loc;
if (locus == UNKNOWN_LOCATION)
@@ -8903,7 +8903,7 @@ Parser<ManagedTokenSource>::parse_closure_param ()
}
}
- Location loc = pattern->get_locus ();
+ location_t loc = pattern->get_locus ();
return AST::ClosureParam (std::move (pattern), loc, std::move (type),
std::move (outer_attrs));
}
@@ -8912,7 +8912,7 @@ Parser<ManagedTokenSource>::parse_closure_param ()
template <typename ManagedTokenSource>
std::unique_ptr<AST::ExprWithoutBlock>
Parser<ManagedTokenSource>::parse_grouped_or_tuple_expr (
- AST::AttrVec outer_attrs, Location pratt_parsed_loc)
+ AST::AttrVec outer_attrs, location_t pratt_parsed_loc)
{
// adjustment to allow Pratt parsing to reuse function without copy-paste
location_t locus = pratt_parsed_loc;
@@ -9390,7 +9390,7 @@ Parser<ManagedTokenSource>::parse_paren_prefixed_type ()
* virtual method abuse, as it was copied from the rustc implementation (in
* which types are reified due to tagged union), after a more OOP attempt by
* me failed. */
- Location left_delim_locus = lexer.peek_token ()->get_locus ();
+ location_t left_delim_locus = lexer.peek_token ()->get_locus ();
// skip left delim
lexer.skip_token ();
@@ -9520,7 +9520,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::Type>
Parser<ManagedTokenSource>::parse_for_prefixed_type ()
{
- Location for_locus = lexer.peek_token ()->get_locus ();
+ location_t for_locus = lexer.peek_token ()->get_locus ();
// parse for lifetimes in type
std::vector<AST::LifetimeParam> for_lifetimes = parse_for_lifetimes ();
@@ -9650,7 +9650,7 @@ Parser<ManagedTokenSource>::parse_bare_function_type (
std::vector<AST::LifetimeParam> for_lifetimes)
{
// TODO: pass in for lifetime location as param
- Location best_try_locus = lexer.peek_token ()->get_locus ();
+ location_t best_try_locus = lexer.peek_token ()->get_locus ();
AST::FunctionQualifiers qualifiers = parse_function_qualifiers ();
@@ -10168,7 +10168,7 @@ Parser<ManagedTokenSource>::parse_paren_prefixed_type_no_bounds ()
* considered a trait bound, not a parenthesised type, so that it can still
* be used in type param bounds. */
- Location left_paren_locus = lexer.peek_token ()->get_locus ();
+ location_t left_paren_locus = lexer.peek_token ()->get_locus ();
// skip left delim
lexer.skip_token ();
@@ -10364,7 +10364,7 @@ std::unique_ptr<AST::RangePatternBound>
Parser<ManagedTokenSource>::parse_range_pattern_bound ()
{
const_TokenPtr range_lower = lexer.peek_token ();
- Location range_lower_locus = range_lower->get_locus ();
+ location_t range_lower_locus = range_lower->get_locus ();
// get lit type
switch (range_lower->get_id ())
@@ -10478,7 +10478,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::Pattern>
Parser<ManagedTokenSource>::parse_pattern ()
{
- Location start_locus = lexer.peek_token ()->get_locus ();
+ location_t start_locus = lexer.peek_token ()->get_locus ();
/* skip optional starting pipe */
maybe_skip_token (PIPE);
@@ -10767,7 +10767,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::Pattern>
Parser<ManagedTokenSource>::parse_grouped_or_tuple_pattern ()
{
- Location paren_locus = lexer.peek_token ()->get_locus ();
+ location_t paren_locus = lexer.peek_token ()->get_locus ();
skip_token (LEFT_PAREN);
// detect '..' token (ranged with no lower range)
@@ -10961,7 +10961,7 @@ template <typename ManagedTokenSource>
std::unique_ptr<AST::SlicePattern>
Parser<ManagedTokenSource>::parse_slice_pattern ()
{
- Location square_locus = lexer.peek_token ()->get_locus ();
+ location_t square_locus = lexer.peek_token ()->get_locus ();
std::vector<std::unique_ptr<AST::Pattern>> patterns;
skip_token (LEFT_SQUARE);
@@ -12582,7 +12582,7 @@ Parser<ManagedTokenSource>::left_denotation (const_TokenPtr tok,
{
// FIXME: allow for outer attributes to be applied
case QUESTION_MARK: {
- Location left_locus = left->get_locus ();
+ location_t left_locus = left->get_locus ();
// error propagation expression - unary postfix
return std::unique_ptr<AST::ErrorPropagationExpr> (
new AST::ErrorPropagationExpr (std::move (left),
@@ -14081,7 +14081,7 @@ Parser<ManagedTokenSource>::parse_macro_invocation_partial (
rust_debug ("successfully parsed macro invocation (via partial)");
- Location macro_locus = converted_path.get_locus ();
+ location_t macro_locus = converted_path.get_locus ();
return AST::MacroInvocation::Regular (
AST::MacroInvocData (std::move (converted_path), std::move (tok_tree)),
@@ -14108,7 +14108,7 @@ Parser<ManagedTokenSource>::parse_struct_expr_struct_partial (
// branch based on next token
const_TokenPtr t = lexer.peek_token ();
- Location path_locus = path.get_locus ();
+ location_t path_locus = path.get_locus ();
switch (t->get_id ())
{
case RIGHT_CURLY:
@@ -14171,7 +14171,7 @@ Parser<ManagedTokenSource>::parse_struct_expr_struct_partial (
AST::StructBase struct_base = AST::StructBase::error ();
if (lexer.peek_token ()->get_id () == DOT_DOT)
{
- Location dot_dot_location = lexer.peek_token ()->get_locus ();
+ location_t dot_dot_location = lexer.peek_token ()->get_locus ();
lexer.skip_token ();
// parse required struct base expr
@@ -14270,7 +14270,7 @@ Parser<ManagedTokenSource>::parse_struct_expr_tuple_partial (
return nullptr;
}
- Location path_locus = path.get_locus ();
+ location_t path_locus = path.get_locus ();
auto pathExpr = std::unique_ptr<AST::PathInExpression> (
new AST::PathInExpression (std::move (path)));