From: Zheyuan Chen Date: Thu, 13 Apr 2023 12:57:31 +0000 (-0700) Subject: gccrs: Implement Dump:visit() function for QualifiedPathInType argument. X-Git-Tag: basepoints/gcc-15~2644 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3ddfc58b25b12df7c617b9218ed38103fe393c35;p=thirdparty%2Fgcc.git 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 --- 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