From 3ddfc58b25b12df7c617b9218ed38103fe393c35 Mon Sep 17 00:00:00 2001 From: Zheyuan Chen Date: Thu, 13 Apr 2023 05:57:31 -0700 Subject: [PATCH] gccrs: Implement Dump:visit() function for QualifiedPathInType argument. gcc/rust/ChangeLog: * ast/rust-ast-dump.cc: fix bad formatting for associated type. Signed-off-by: Zheyuan Chen --- gcc/rust/ast/rust-ast-dump.cc | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc index ce934a1ed7ae..f8c4f50c27d7 100644 --- a/gcc/rust/ast/rust-ast-dump.cc +++ b/gcc/rust/ast/rust-ast-dump.cc @@ -488,8 +488,20 @@ Dump::visit (QualifiedPathInExpression &path) } void -Dump::visit (QualifiedPathInType &) -{} +Dump::visit (QualifiedPathInType &path) +{ + auto qualified_path_type = path.get_qualified_path_type (); + stream << "<"; + visit (qualified_path_type.get_type ()); + if (qualified_path_type.has_as_clause ()) + { + stream << " as "; + visit (qualified_path_type.get_as_type_path ()); + } + stream << ">::"; + visit (path.get_associated_segment ()); + visit_items_joined_by_separator (path.get_segments (), "::"); +} // rust-expr.h void @@ -1153,7 +1165,6 @@ Dump::visit (TypeAlias &type_alias) // Visibility? type IDENTIFIER GenericParams? WhereClause? = Type; // Note: Associated types are handled by `AST::TraitItemType`. - if (type_alias.has_visibility ()) visit (type_alias.get_visibility ()); stream << "type " << type_alias.get_new_type_name (); @@ -1163,6 +1174,7 @@ Dump::visit (TypeAlias &type_alias) visit (type_alias.get_where_clause ()); stream << " = "; visit (type_alias.get_type_aliased ()); + stream << ";\n"; } void -- 2.43.5