diff options
author | David Faust <david.faust@oracle.com> | 2022-10-06 13:43:06 -0700 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-02-21 12:36:32 +0100 |
commit | 4c807ef70db1d8832dc5887f4458164832619d3c (patch) | |
tree | 07308735f3f37a0b80bb48f31f3e10cb0726bd3e | |
parent | 8d02ef57a691080472afb6558cfb1f34c98b0100 (diff) | |
download | gcc-4c807ef70db1d8832dc5887f4458164832619d3c.zip gcc-4c807ef70db1d8832dc5887f4458164832619d3c.tar.gz gcc-4c807ef70db1d8832dc5887f4458164832619d3c.tar.bz2 |
gccrs: ast: dump: add format_{tuple,struct}_field helpers
gcc/rust/ChangeLog:
* ast/rust-ast-dump.cc (Dump::format_tuple_field): New.
(Dump::format_struct_field): New.
* ast/rust-ast-dump.h (format_tuple_field): New.
(format_struct_field): New.
-rw-r--r-- | gcc/rust/ast/rust-ast-dump.cc | 17 | ||||
-rw-r--r-- | gcc/rust/ast/rust-ast-dump.h | 6 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc index b192556..6f2f816 100644 --- a/gcc/rust/ast/rust-ast-dump.cc +++ b/gcc/rust/ast/rust-ast-dump.cc @@ -157,6 +157,23 @@ Dump::emit_generic_params (std::vector<std::unique_ptr<GenericParam>> ¶ms) } void +Dump::format_tuple_field (TupleField &field) +{ + // TODO: do we need to emit outer attrs here? + emit_visibility (field.get_visibility ()); + field.get_field_type ()->accept_vis (*this); +} + +void +Dump::format_struct_field (StructField &field) +{ + // TODO: do we need to emit outer attrs here? + emit_visibility (field.get_visibility ()); + stream << field.get_field_name () << ": "; + field.get_field_type ()->accept_vis (*this); +} + +void Dump::visit (Token &tok) {} diff --git a/gcc/rust/ast/rust-ast-dump.h b/gcc/rust/ast/rust-ast-dump.h index 1bbefb3..2da2736 100644 --- a/gcc/rust/ast/rust-ast-dump.h +++ b/gcc/rust/ast/rust-ast-dump.h @@ -100,6 +100,12 @@ private: // Emit formatted string for generic parameters. void emit_generic_params (std::vector<std::unique_ptr<GenericParam>> ¶ms); + // Format a single field of a tuple. + void format_tuple_field (TupleField &field); + + // Format a single field of a struct. + void format_struct_field (StructField &field); + // rust-ast.h void visit (Token &tok); void visit (DelimTokenTree &delim_tok_tree); |