From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 61E783858285; Mon, 10 Oct 2022 07:33:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 61E783858285 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1665387223; bh=PXansRpCLjO9PoKMtjR+A3YE2DtepukRuzknFS7lg00=; h=From:To:Subject:Date:From; b=Gb7xQCRht045XDHWkqWgDbUKtK0Zs9vy8ck6+JLFrIOwG4IvSklZjI1uDYqAprBuW VPgb8bh13wJI7xYZtOPYfZohgORhxoxNHI9Gpxs+AEmiSjoBb8WBmARwDDO6v45pxf uaX2OHl8eSZFad3T5ARHzI70aJ8p+K5DW/BNUCsc= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] ast: dump: add format_{tuple, struct}_field helpers X-Act-Checkin: gcc X-Git-Author: David Faust X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: b64b889e15ee6119605f4d52b2b3703083b835cc X-Git-Newrev: 1f9d7ec437307c02427e2977806be656a28c360a Message-Id: <20221010073343.61E783858285@sourceware.org> Date: Mon, 10 Oct 2022 07:33:43 +0000 (GMT) List-Id: https://gcc.gnu.org/g:1f9d7ec437307c02427e2977806be656a28c360a commit 1f9d7ec437307c02427e2977806be656a28c360a Author: David Faust Date: Thu Oct 6 13:43:06 2022 -0700 ast: dump: add format_{tuple,struct}_field helpers Diff: --- gcc/rust/ast/rust-ast-dump.cc | 17 +++++++++++++++++ gcc/rust/ast/rust-ast-dump.h | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc index b192556647c..6f2f81630b0 100644 --- a/gcc/rust/ast/rust-ast-dump.cc +++ b/gcc/rust/ast/rust-ast-dump.cc @@ -156,6 +156,23 @@ Dump::emit_generic_params (std::vector> ¶ms) stream << ">"; } +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 1bbefb38454..2da2736c95b 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> ¶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);