aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Faust <david.faust@oracle.com>2022-10-06 13:43:06 -0700
committerDavid Faust <david.faust@oracle.com>2022-10-06 13:49:44 -0700
commit1f9d7ec437307c02427e2977806be656a28c360a (patch)
tree3210efa6e02f4ccbe5ccc86cc4adc3b5d02f8148
parentb64b889e15ee6119605f4d52b2b3703083b835cc (diff)
downloadgcc-1f9d7ec437307c02427e2977806be656a28c360a.zip
gcc-1f9d7ec437307c02427e2977806be656a28c360a.tar.gz
gcc-1f9d7ec437307c02427e2977806be656a28c360a.tar.bz2
ast: dump: add format_{tuple,struct}_field helpers
-rw-r--r--gcc/rust/ast/rust-ast-dump.cc17
-rw-r--r--gcc/rust/ast/rust-ast-dump.h6
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>> &params)
}
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>> &params);
+ // 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);