diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-11-18 08:48:08 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-18 08:48:08 +0000 |
commit | 9ef8144e3994dea423011c0c248a0ea71c73cf25 (patch) | |
tree | 358b50f30b9764fea0735b85a98f7c360eaf36b5 /gcc/rust/parse | |
parent | d8e9850b7f818f56fcf7e945003556db349db536 (diff) | |
parent | bea720bef773efce55391ef005b7be990b9bfc50 (diff) | |
download | gcc-9ef8144e3994dea423011c0c248a0ea71c73cf25.zip gcc-9ef8144e3994dea423011c0c248a0ea71c73cf25.tar.gz gcc-9ef8144e3994dea423011c0c248a0ea71c73cf25.tar.bz2 |
Merge #1636
1636: Add location to AST::Visibility r=CohenArthur a=dme2
Hi. I've added location to AST::Visibility, but it's possible I may have missed some steps here.
Fixes #1183.
Co-authored-by: Dave <dme2223@gmail.com>
Diffstat (limited to 'gcc/rust/parse')
-rw-r--r-- | gcc/rust/parse/rust-parse-impl.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 54f3c5c..5642990 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -2128,12 +2128,13 @@ Parser<ManagedTokenSource>::parse_visibility () return AST::Visibility::create_private (); } + auto vis_loc = lexer.peek_token ()->get_locus (); lexer.skip_token (); // create simple pub visibility if no parentheses if (lexer.peek_token ()->get_id () != LEFT_PAREN) { - return AST::Visibility::create_public (); + return AST::Visibility::create_public (vis_loc); // or whatever } @@ -2149,19 +2150,19 @@ Parser<ManagedTokenSource>::parse_visibility () skip_token (RIGHT_PAREN); - return AST::Visibility::create_crate (path_loc); + return AST::Visibility::create_crate (path_loc, vis_loc); case SELF: lexer.skip_token (); skip_token (RIGHT_PAREN); - return AST::Visibility::create_self (path_loc); + return AST::Visibility::create_self (path_loc, vis_loc); case SUPER: lexer.skip_token (); skip_token (RIGHT_PAREN); - return AST::Visibility::create_super (path_loc); + return AST::Visibility::create_super (path_loc, vis_loc); case IN: { lexer.skip_token (); @@ -2179,7 +2180,7 @@ Parser<ManagedTokenSource>::parse_visibility () skip_token (RIGHT_PAREN); - return AST::Visibility::create_in_path (std::move (path)); + return AST::Visibility::create_in_path (std::move (path), vis_loc); } default: add_error (Error (t->get_locus (), "unexpected token %qs in visibility", |