]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gccrs: fixup: Remove old typecheck dump
authortieway59 <tieway59@foxmail.com>
Wed, 14 Jun 2023 06:22:34 +0000 (14:22 +0800)
committerArthur Cohen <arthur.cohen@embecosm.com>
Tue, 16 Jan 2024 17:46:27 +0000 (18:46 +0100)
fixes https://github.com/Rust-GCC/gccrs/issues/2020

gcc/rust/ChangeLog:

* typecheck/rust-tycheck-dump.h: Delete this file
* rust-session-manager.cc: Remove `Session::dump_type_resolution`
and `TYPE_RESOLUTION_DUMP`
* rust-session-manager.h: Likewise

Signed-off-by: Taiwei Wu tieway59@foxmail.com
gcc/rust/rust-session-manager.cc
gcc/rust/rust-session-manager.h
gcc/rust/typecheck/rust-tycheck-dump.h [deleted file]

index c7bbe89b281cc4abb61739e70272a6d2e05e5b11..2c847834eb3e2863f12721b787a2bc89690a7cd5 100644 (file)
@@ -28,7 +28,6 @@
 #include "rust-privacy-check.h"
 #include "rust-const-checker.h"
 #include "rust-feature-gate.h"
-#include "rust-tycheck-dump.h"
 #include "rust-compile.h"
 #include "rust-cfg-parser.h"
 #include "rust-lint-scan-deadcode.h"
@@ -630,10 +629,6 @@ Session::compile_crate (const char *filename)
 
   // type resolve
   Resolver::TypeResolution::Resolve (hir);
-  if (options.dump_option_enabled (CompileOptions::TYPE_RESOLUTION_DUMP))
-    {
-      dump_type_resolution (hir);
-    }
 
   if (saw_errors ())
     return;
@@ -978,22 +973,6 @@ Session::dump_hir_pretty (HIR::Crate &crate) const
   out.close ();
 }
 
-void
-Session::dump_type_resolution (HIR::Crate &hir) const
-{
-  std::ofstream out;
-  out.open (kHIRTypeResolutionDumpFile);
-  if (out.fail ())
-    {
-      rust_error_at (Linemap::unknown_location (), "cannot open %s:%m; ignored",
-                    kHIRTypeResolutionDumpFile);
-      return;
-    }
-
-  Resolver::TypeResolverDump::go (hir, out);
-  out.close ();
-}
-
 // imports
 
 NodeId
index 99abb3cad50e58fe5bd9f21f749f0065e7cadb4f..92de61e1537fd9a6095d1088428e13153030d225 100644 (file)
@@ -202,7 +202,6 @@ struct CompileOptions
     TARGET_OPTION_DUMP,
     HIR_DUMP,
     HIR_DUMP_PRETTY,
-    TYPE_RESOLUTION_DUMP,
   };
 
   std::set<DumpOption> dump_options;
@@ -261,7 +260,6 @@ struct CompileOptions
     enable_dump_option (DumpOption::TARGET_OPTION_DUMP);
     enable_dump_option (DumpOption::HIR_DUMP);
     enable_dump_option (DumpOption::HIR_DUMP_PRETTY);
-    enable_dump_option (DumpOption::TYPE_RESOLUTION_DUMP);
   }
 
   void set_crate_name (std::string name)
@@ -373,7 +371,6 @@ private:
   void dump_tokenstream (AST::Crate &crate) const;
   void dump_hir (HIR::Crate &crate) const;
   void dump_hir_pretty (HIR::Crate &crate) const;
-  void dump_type_resolution (HIR::Crate &crate) const;
 
   // pipeline stages - TODO maybe move?
   /* Register plugins pipeline stage. TODO maybe move to another object?
diff --git a/gcc/rust/typecheck/rust-tycheck-dump.h b/gcc/rust/typecheck/rust-tycheck-dump.h
deleted file mode 100644 (file)
index 393533f..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-// Copyright (C) 2020-2024 Free Software Foundation, Inc.
-
-// This file is part of GCC.
-
-// GCC is free software; you can redistribute it and/or modify it under
-// the terms of the GNU General Public License as published by the Free
-// Software Foundation; either version 3, or (at your option) any later
-// version.
-
-// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with GCC; see the file COPYING3.  If not see
-// <http://www.gnu.org/licenses/>.
-
-#ifndef RUST_TYCHECK_DUMP
-#define RUST_TYCHECK_DUMP
-
-#include "rust-hir-type-check-base.h"
-#include "rust-hir-full.h"
-
-namespace Rust {
-namespace Resolver {
-
-class TypeResolverDump : private TypeCheckBase, private HIR::HIRFullVisitorBase
-{
-  using HIR::HIRFullVisitorBase::visit;
-
-public:
-  static void go (HIR::Crate &crate, std::ofstream &out)
-  {
-    TypeResolverDump dumper;
-    for (auto &item : crate.items)
-      {
-       item->accept_vis (dumper);
-       dumper.dump += "\n";
-      }
-
-    out << dumper.dump;
-  }
-
-  void visit (HIR::StructStruct &struct_decl) override
-  {
-    dump += indent () + "struct " + type_string (struct_decl.get_mappings ())
-           + "\n";
-  }
-
-  void visit (HIR::Union &union_decl) override
-  {
-    dump
-      += indent () + "union " + type_string (union_decl.get_mappings ()) + "\n";
-  }
-
-  void visit (HIR::TupleStruct &struct_decl) override
-  {
-    dump += indent () + "struct" + type_string (struct_decl.get_mappings ())
-           + "\n";
-  }
-
-  void visit (HIR::ImplBlock &impl_block) override
-  {
-    dump += indent () + "impl "
-           + type_string (impl_block.get_type ()->get_mappings ()) + " {\n";
-    indentation_level++;
-
-    for (auto &impl_item : impl_block.get_impl_items ())
-      {
-       impl_item->accept_vis (*this);
-       dump += "\n";
-      }
-
-    indentation_level--;
-    dump += indent () + "}\n";
-  }
-
-  void visit (HIR::ConstantItem &constant) override
-  {
-    dump += indent () + "constant " + constant.get_identifier () + ":"
-           + type_string (constant.get_mappings ()) + " = ";
-    constant.get_expr ()->accept_vis (*this);
-    dump += ";\n";
-  }
-
-  void visit (HIR::Function &function) override
-  {
-    dump += indent () + "fn " + function.get_function_name () + " "
-           + type_string (function.get_mappings ()) + "\n";
-    dump += indent () + "{\n";
-
-    HIR::BlockExpr *function_body = function.get_definition ().get ();
-    function_body->accept_vis (*this);
-
-    dump += indent () + "}\n";
-  }
-
-  void visit (HIR::BlockExpr &expr) override
-  {
-    dump += "{\n";
-    indentation_level++;
-
-    for (auto &s : expr.get_statements ())
-      {
-       dump += indent ();
-       s->accept_vis (*this);
-       dump += ";\n";
-      }
-
-    if (expr.has_expr ())
-      {
-       dump += indent ();
-       expr.expr->accept_vis (*this);
-       dump += ";\n";
-      }
-
-    indentation_level--;
-    dump += "}\n";
-  }
-
-  void visit (HIR::UnsafeBlockExpr &expr) override
-  {
-    dump += "unsafe ";
-    expr.get_block_expr ()->accept_vis (*this);
-  }
-
-  void visit (HIR::LetStmt &stmt) override
-  {
-    dump += "let " + stmt.get_pattern ()->as_string () + ":"
-           + type_string (stmt.get_pattern ()->get_pattern_mappings ());
-    if (stmt.has_init_expr ())
-      {
-       dump += " = ";
-       stmt.get_init_expr ()->accept_vis (*this);
-      }
-  }
-
-  void visit (HIR::ExprStmt &stmt) override
-  {
-    stmt.get_expr ()->accept_vis (*this);
-  }
-
-  void visit (HIR::AssignmentExpr &expr) override
-  {
-    expr.get_lhs ()->accept_vis (*this);
-    dump += " = ";
-    expr.get_rhs ()->accept_vis (*this);
-  }
-
-  void visit (HIR::LiteralExpr &expr) override
-  {
-    dump += expr.get_literal ().as_string () + ":"
-           + type_string (expr.get_mappings ());
-  }
-
-  void visit (HIR::ArrayExpr &expr) override
-  {
-    dump += type_string (expr.get_mappings ()) + ":[";
-
-    HIR::ArrayElems *elements = expr.get_internal_elements ();
-    elements->accept_vis (*this);
-
-    dump += "]";
-  }
-
-  void visit (HIR::ArrayElemsValues &elems) override
-  {
-    for (auto &elem : elems.get_values ())
-      {
-       elem->accept_vis (*this);
-       dump += ",";
-      }
-  }
-
-  void visit (HIR::GroupedExpr &expr) override
-  {
-    HIR::Expr *paren_expr = expr.get_expr_in_parens ().get ();
-    dump += "(";
-    paren_expr->accept_vis (*this);
-    dump += ")";
-  }
-
-  void visit (HIR::PathInExpression &expr) override
-  {
-    dump += type_string (expr.get_mappings ());
-  }
-
-  void visit (HIR::StructExprStructFields &expr) override
-  {
-    dump += "ctor: " + type_string (expr.get_mappings ());
-  }
-
-protected:
-  std::string type_string (const Analysis::NodeMapping &mappings)
-  {
-    TyTy::BaseType *lookup = nullptr;
-    if (!context->lookup_type (mappings.get_hirid (), &lookup))
-      return "<error>";
-
-    std::string buf = "[";
-    for (auto &ref : lookup->get_combined_refs ())
-      {
-       buf += std::to_string (ref);
-       buf += ", ";
-      }
-    buf += "]";
-
-    std::string repr = lookup->as_string ();
-    return "<" + repr + " HIRID: " + std::to_string (mappings.get_hirid ())
-          + " RF:" + std::to_string (lookup->get_ref ()) + " TF:"
-          + std::to_string (lookup->get_ty_ref ()) + +" - " + buf + ">";
-  }
-
-  std::string indent ()
-  {
-    std::string buf;
-    for (size_t i = 0; i < indentation_level; ++i)
-      buf += "    ";
-
-    return buf;
-  }
-
-private:
-  TypeResolverDump () : TypeCheckBase (), indentation_level (0) {}
-
-  std::string dump;
-  size_t indentation_level;
-};
-
-} // namespace Resolver
-} // namespace Rust
-
-#endif // RUST_TYCHECK_DUMP