From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) by sourceware.org (Postfix) with ESMTPS id A77DC384F49F for ; Tue, 21 Feb 2023 12:03:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A77DC384F49F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embecosm.com Received: by mail-wm1-x334.google.com with SMTP id p3-20020a05600c358300b003e206711347so2927896wmq.0 for ; Tue, 21 Feb 2023 04:03:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=g35FVS5hWKiVZYjGcvh/C4yA17IWzOjf0SOlF8H+5Y4=; b=dSGbsPjT2PqFPw56Xbysha0ndwFCKVqFYxwB/clzG27VLRg476ag72MmYM6pc4qMPA ON2g5T2LclWwIJuJtzQv6dDSjclE52r+s9RPxL5uosNxmn6tMLlrEq+mDMyzZDijs04b Wtef5jtm4Conygfrb+uMMG+r0AH/YLIu4796VtuEJtRH+jaB8sAW724imYRDAaImnWuP XCPv3laNLWG7a5CwfdDmAMJIlkEHnlq3ndAGSZQ2s4yiu/ggLT3VA8nJb4qr3GHXmeep WAeVESgzqwyckWTzGUS8xwd8wgtY86jxkjUQ3GpMIZx3Nc5gvmCGUN8I4K6FRDlLFL7S 6jjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=g35FVS5hWKiVZYjGcvh/C4yA17IWzOjf0SOlF8H+5Y4=; b=V5zCN5/jjAGHHqkmTQC6CXvG+NIhLVerzviKiO+eQ2KvYBETBggFsXciMTM6WUwz6k qXZd/YmT5x1b6RQFYREOcHaY5vkxErPiNJ6a6njqIJMyJgtbXmCG9SBqIUlFuN8s3Vzj aaprv4DUUcKME8FzlZfFn5Y0NxGmZ3sWpN5UYWxpP1MUsU/WmlcTuDHqhc4fXto9Sqlj gjNdqrOWehnQ09BQWcMdEECgK7TTt6rQ5TjllEP5TaBmQ0np2RBFK/C73VEv2ic9CteD eBCVIo5hBPySACbvnhuqQIdTWDyD71ktqRgKVClmGHuAgFna4UKxoOdIV7YanXwCnv89 e24g== X-Gm-Message-State: AO0yUKWetV2pTiyPHzgHIObb8IoiIvuddxsgLlC550piC8+VKMlNGRch NKGpcAXjJBwAPBG5bbi4cf7Q X-Google-Smtp-Source: AK7set/jQbkMOztGNXwruzo/VbCA0m8TQl2eC3GWAw0LRJqwYzxPqJAUTP4uw9qsePHsFbDHTIrwtg== X-Received: by 2002:a05:600c:2b45:b0:3e0:c5e:ad52 with SMTP id e5-20020a05600c2b4500b003e00c5ead52mr3374671wmf.6.1676981013506; Tue, 21 Feb 2023 04:03:33 -0800 (PST) Received: from platypus.localdomain ([62.23.166.218]) by smtp.gmail.com with ESMTPSA id c15-20020adffb4f000000b002c55b0e6ef1sm5013811wrs.4.2023.02.21.04.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Feb 2023 04:03:32 -0800 (PST) From: arthur.cohen@embecosm.com To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org, David Faust Subject: [committed 012/103] gccrs: ast: dump: add emit_generic_params helper Date: Tue, 21 Feb 2023 13:01:02 +0100 Message-Id: <20230221120230.596966-13-arthur.cohen@embecosm.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230221120230.596966-1-arthur.cohen@embecosm.com> References: <20230221120230.596966-1-arthur.cohen@embecosm.com> Reply-To: arthur.cohen@embecosm.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-14.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: David Faust gcc/rust/ChangeLog: * ast/rust-ast-dump.cc (Dump::visit): move generic params dump ... (Dump::emit_generic_params): ... here. * ast/rust-ast-dump.h (emit_generic_params): New. --- gcc/rust/ast/rust-ast-dump.cc | 30 +++++++++++++++++------------- gcc/rust/ast/rust-ast-dump.h | 3 +++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc index bc4f7a3a5c1..b192556647c 100644 --- a/gcc/rust/ast/rust-ast-dump.cc +++ b/gcc/rust/ast/rust-ast-dump.cc @@ -140,6 +140,22 @@ Dump::emit_indented_string (const std::string &value, return stream << indentation << value << comment; } +void +Dump::emit_generic_params (std::vector> ¶ms) +{ + stream << "<"; + for (size_t i = 0; i < params.size (); i++) + { + auto ¶m = params.at (i); + param->accept_vis (*this); + + bool has_next = (i + 1) < params.size (); + if (has_next) + stream << ", "; + } + stream << ">"; +} + void Dump::visit (Token &tok) {} @@ -679,19 +695,7 @@ Dump::visit (Function &function) stream << "fn " << function.get_function_name (); if (function.has_generics ()) - { - stream << "<"; - for (size_t i = 0; i < function.get_generic_params ().size (); i++) - { - auto ¶m = function.get_generic_params ().at (i); - param->accept_vis (*this); - - bool has_next = (i + 1) < function.get_generic_params ().size (); - if (has_next) - stream << ", "; - } - stream << ">"; - } + emit_generic_params (function.get_generic_params ()); stream << '('; auto ¶ms = function.get_function_params (); diff --git a/gcc/rust/ast/rust-ast-dump.h b/gcc/rust/ast/rust-ast-dump.h index a5a99f2b03e..1bbefb38454 100644 --- a/gcc/rust/ast/rust-ast-dump.h +++ b/gcc/rust/ast/rust-ast-dump.h @@ -97,6 +97,9 @@ private: std::ostream &emit_indented_string (const std::string &value, const std::string &comment = ""); + // Emit formatted string for generic parameters. + void emit_generic_params (std::vector> ¶ms); + // rust-ast.h void visit (Token &tok); void visit (DelimTokenTree &delim_tok_tree); -- 2.39.1