diff options
author | Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com> | 2023-11-02 17:10:33 +0100 |
---|---|---|
committer | P-E-P <32375388+P-E-P@users.noreply.github.com> | 2023-11-21 09:11:38 +0000 |
commit | 889dec2e6a444301b8fdf825fd65e2220052ef88 (patch) | |
tree | cf0b1909c802406ac522b79f22c9d2a106b84fb9 /gcc/rust/parse/rust-parse.h | |
parent | 005d5e1f0343d8e0091d47938e8d6b2f384d45d7 (diff) | |
download | gcc-889dec2e6a444301b8fdf825fd65e2220052ef88.zip gcc-889dec2e6a444301b8fdf825fd65e2220052ef88.tar.gz gcc-889dec2e6a444301b8fdf825fd65e2220052ef88.tar.bz2 |
Add visibility to trait item
The compiler shall parse visibility modifiers on trait items and reject
those at a later stage (ast validation).
gcc/rust/ChangeLog:
* ast/rust-item.h (struct Visibility): Move Visibility from here...
* ast/rust-ast.h (struct Visibility): ...to here.
* parse/rust-parse-impl.h (Parser::parse_trait_item): Parse visibility
before giving it back to the item parsing function.
(Parser::parse_trait_type): Add visibility modifier.
* parse/rust-parse.h (RUST_PARSE_H): Change function prototype.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diffstat (limited to 'gcc/rust/parse/rust-parse.h')
-rw-r--r-- | gcc/rust/parse/rust-parse.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rust/parse/rust-parse.h b/gcc/rust/parse/rust-parse.h index 9e924e0..08e6ce0 100644 --- a/gcc/rust/parse/rust-parse.h +++ b/gcc/rust/parse/rust-parse.h @@ -17,6 +17,7 @@ along with GCC; see the file COPYING3. If not see #ifndef RUST_PARSE_H #define RUST_PARSE_H +#include "rust-item.h" #include "rust-lex.h" #include "rust-ast-full.h" #include "rust-diagnostics.h" @@ -331,7 +332,7 @@ private: std::unique_ptr<AST::Trait> parse_trait (AST::Visibility vis, AST::AttrVec outer_attrs); std::unique_ptr<AST::TraitItemType> - parse_trait_type (AST::AttrVec outer_attrs); + parse_trait_type (AST::AttrVec outer_attrs, AST::Visibility); std::unique_ptr<AST::TraitItemConst> parse_trait_const (AST::AttrVec outer_attrs); std::unique_ptr<AST::Param> parse_self_param (); |