From: Lucas Ly Ba <[email protected]>
gcc/rust/ChangeLog:
* Make-lang.in: Compile the right files.
* checks/lints/unused-var/rust-unused-var-checker.cc: Move to...
* checks/lints/unused/rust-unused-checker.cc: ...here.
* checks/lints/unused-var/rust-unused-var-checker.h: Move to...
* checks/lints/unused/rust-unused-checker.h: ...here.
* checks/lints/unused-var/rust-unused-var-collector.cc: Move to...
* checks/lints/unused/rust-unused-collector.cc: ...here.
* checks/lints/unused-var/rust-unused-var-collector.h: Move to...
* checks/lints/unused/rust-unused-collector.h: ...here.
* checks/lints/unused-var/rust-unused-var-context.cc: Move to...
* checks/lints/unused/rust-unused-context.cc: ...here.
* checks/lints/unused-var/rust-unused-var-context.h: Move to...
* checks/lints/unused/rust-unused-context.h: ...here.
* rust-session-manager.cc (Session::compile_crate): Call the right
method.
Signed-off-by: Lucas Ly Ba <[email protected]>
---
This change was merged into the gccrs repository and is posted here for
upstream visibility and potential drive-by review, as requested by GCC
release managers.
Each commit email contains a link to its details on github from where you can
find the Pull-Request and associated discussions.
Commit on github:
https://github.com/Rust-GCC/gccrs/commit/fea14cb5f3af2db6b3336b1b305f2fb9b019ffa8
The commit has been mentioned in the following pull-request(s):
- https://github.com/Rust-GCC/gccrs/pull/4285
gcc/rust/Make-lang.in | 12 +++++------
.../rust-unused-checker.cc} | 21 +++++++++----------
.../rust-unused-checker.h} | 8 +++----
.../rust-unused-collector.cc} | 19 ++++++++---------
.../rust-unused-collector.h} | 14 ++++++-------
.../rust-unused-context.cc} | 16 +++++++-------
.../rust-unused-context.h} | 2 +-
gcc/rust/rust-session-manager.cc | 4 ++--
8 files changed, 46 insertions(+), 50 deletions(-)
rename gcc/rust/checks/lints/{unused-var/rust-unused-var-checker.cc =>
unused/rust-unused-checker.cc} (83%)
rename gcc/rust/checks/lints/{unused-var/rust-unused-var-checker.h =>
unused/rust-unused-checker.h} (90%)
rename gcc/rust/checks/lints/{unused-var/rust-unused-var-collector.cc =>
unused/rust-unused-collector.cc} (73%)
rename gcc/rust/checks/lints/{unused-var/rust-unused-var-collector.h =>
unused/rust-unused-collector.h} (84%)
rename gcc/rust/checks/lints/{unused-var/rust-unused-var-context.cc =>
unused/rust-unused-context.cc} (78%)
rename gcc/rust/checks/lints/{unused-var/rust-unused-var-context.h =>
unused/rust-unused-context.h} (98%)
diff --git a/gcc/rust/Make-lang.in b/gcc/rust/Make-lang.in
index a79729bae..bb063f1f1 100644
--- a/gcc/rust/Make-lang.in
+++ b/gcc/rust/Make-lang.in
@@ -200,9 +200,9 @@ GRS_OBJS = \
rust/rust-const-checker.o \
rust/rust-lint-marklive.o \
rust/rust-lint-unused-var.o \
- rust/rust-unused-var-checker.o \
- rust/rust-unused-var-collector.o \
- rust/rust-unused-var-context.o \
+ rust/rust-unused-checker.o \
+ rust/rust-unused-collector.o \
+ rust/rust-unused-context.o \
rust/rust-readonly-check.o \
rust/rust-hir-type-check-path.o \
rust/rust-unsafe-checker.o \
@@ -435,7 +435,7 @@ RUST_INCLUDES = -I $(srcdir)/rust \
-I $(srcdir)/rust/typecheck \
-I $(srcdir)/rust/checks/lints \
-I $(srcdir)/rust/checks/errors \
- -I $(srcdir)/rust/checks/lints/unused-var \
+ -I $(srcdir)/rust/checks/lints/unused \
-I $(srcdir)/rust/checks/errors/privacy \
-I $(srcdir)/rust/checks/errors/borrowck \
-I $(srcdir)/rust/checks/errors/feature \
@@ -506,8 +506,8 @@ rust/%.o: rust/checks/lints/%.cc
$(COMPILE) $(RUST_CXXFLAGS) $(RUST_INCLUDES) $<
$(POSTCOMPILE)
-# build unused variable checking pass files in rust folder
-rust/%.o: rust/checks/lints/unused-var/%.cc
+# build unused checking pass files in rust folder
+rust/%.o: rust/checks/lints/unused/%.cc
$(COMPILE) $(RUST_CXXFLAGS) $(RUST_INCLUDES) $<
$(POSTCOMPILE)
diff --git a/gcc/rust/checks/lints/unused-var/rust-unused-var-checker.cc
b/gcc/rust/checks/lints/unused/rust-unused-checker.cc
similarity index 83%
rename from gcc/rust/checks/lints/unused-var/rust-unused-var-checker.cc
rename to gcc/rust/checks/lints/unused/rust-unused-checker.cc
index 98111585e..9f8394ef9 100644
--- a/gcc/rust/checks/lints/unused-var/rust-unused-var-checker.cc
+++ b/gcc/rust/checks/lints/unused/rust-unused-checker.cc
@@ -16,7 +16,7 @@
// along with GCC; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-#include "rust-unused-var-checker.h"
+#include "rust-unused-checker.h"
#include "rust-hir-expr.h"
#include "rust-hir-item.h"
@@ -25,23 +25,22 @@
namespace Rust {
namespace Analysis {
-UnusedVarChecker::UnusedVarChecker ()
+UnusedChecker::UnusedChecker ()
: nr_context (
Resolver2_0::ImmutableNameResolutionContext::get ().resolver ()),
- mappings (Analysis::Mappings::get ()),
- unused_var_context (UnusedVarContext ())
+ mappings (Analysis::Mappings::get ()), unused_context (UnusedContext ())
{}
void
-UnusedVarChecker::go (HIR::Crate &crate)
+UnusedChecker::go (HIR::Crate &crate)
{
- UnusedVarCollector collector (unused_var_context);
+ UnusedCollector collector (unused_context);
collector.go (crate);
for (auto &item : crate.get_items ())
item->accept_vis (*this);
}
void
-UnusedVarChecker::visit (HIR::ConstantItem &item)
+UnusedChecker::visit (HIR::ConstantItem &item)
{
std::string var_name = item.get_identifier ().as_string ();
auto id = item.get_mappings ().get_hirid ();
@@ -52,7 +51,7 @@ UnusedVarChecker::visit (HIR::ConstantItem &item)
}
void
-UnusedVarChecker::visit (HIR::StaticItem &item)
+UnusedChecker::visit (HIR::StaticItem &item)
{
std::string var_name = item.get_identifier ().as_string ();
auto id = item.get_mappings ().get_hirid ();
@@ -63,12 +62,12 @@ UnusedVarChecker::visit (HIR::StaticItem &item)
}
void
-UnusedVarChecker::visit (HIR::TraitItemFunc &item)
+UnusedChecker::visit (HIR::TraitItemFunc &item)
{
// TODO: check trait item functions if they are not derived.
}
void
-UnusedVarChecker::visit (HIR::IdentifierPattern &pattern)
+UnusedChecker::visit (HIR::IdentifierPattern &pattern)
{
std::string var_name = pattern.get_identifier ().as_string ();
auto id = pattern.get_mappings ().get_hirid ();
@@ -80,7 +79,7 @@ UnusedVarChecker::visit (HIR::IdentifierPattern &pattern)
}
void
-UnusedVarChecker::visit (HIR::AssignmentExpr &expr)
+UnusedChecker::visit (HIR::AssignmentExpr &expr)
{
const auto &lhs = expr.get_lhs ();
diff --git a/gcc/rust/checks/lints/unused-var/rust-unused-var-checker.h
b/gcc/rust/checks/lints/unused/rust-unused-checker.h
similarity index 90%
rename from gcc/rust/checks/lints/unused-var/rust-unused-var-checker.h
rename to gcc/rust/checks/lints/unused/rust-unused-checker.h
index bb9c8ac85..6f5f8bade 100644
--- a/gcc/rust/checks/lints/unused-var/rust-unused-var-checker.h
+++ b/gcc/rust/checks/lints/unused/rust-unused-checker.h
@@ -20,21 +20,21 @@
#include "rust-hir-item.h"
#include "rust-hir-pattern.h"
#include "rust-hir-visitor.h"
+#include "rust-unused-collector.h"
#include "rust-immutable-name-resolution-context.h"
-#include "rust-unused-var-collector.h"
namespace Rust {
namespace Analysis {
-class UnusedVarChecker : public HIR::DefaultHIRVisitor
+class UnusedChecker : public HIR::DefaultHIRVisitor
{
public:
- UnusedVarChecker ();
+ UnusedChecker ();
void go (HIR::Crate &crate);
private:
const Resolver2_0::NameResolutionContext &nr_context;
Analysis::Mappings &mappings;
- UnusedVarContext unused_var_context;
+ UnusedContext unused_context;
using HIR::DefaultHIRVisitor::visit;
virtual void visit (HIR::TraitItemFunc &decl) override;
diff --git a/gcc/rust/checks/lints/unused-var/rust-unused-var-collector.cc
b/gcc/rust/checks/lints/unused/rust-unused-collector.cc
similarity index 73%
rename from gcc/rust/checks/lints/unused-var/rust-unused-var-collector.cc
rename to gcc/rust/checks/lints/unused/rust-unused-collector.cc
index 0d601dd51..530c6b0ce 100644
--- a/gcc/rust/checks/lints/unused-var/rust-unused-var-collector.cc
+++ b/gcc/rust/checks/lints/unused/rust-unused-collector.cc
@@ -16,55 +16,54 @@
// along with GCC; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-#include "rust-unused-var-collector.h"
+#include "rust-unused-collector.h"
#include "rust-hir-expr.h"
#include "rust-hir-full-decls.h"
#include "rust-hir-item.h"
#include "rust-hir-path.h"
#include "rust-hir-pattern.h"
#include "rust-immutable-name-resolution-context.h"
-#include "tree-check.h"
namespace Rust {
namespace Analysis {
-UnusedVarCollector::UnusedVarCollector (UnusedVarContext &context)
+UnusedCollector::UnusedCollector (UnusedContext &context)
: nr_context (
Resolver2_0::ImmutableNameResolutionContext::get ().resolver ()),
- mappings (Analysis::Mappings::get ()), unused_var_context (context)
+ mappings (Analysis::Mappings::get ()), unused_context (context)
{}
void
-UnusedVarCollector::go (HIR::Crate &crate)
+UnusedCollector::go (HIR::Crate &crate)
{
for (auto &item : crate.get_items ())
item->accept_vis (*this);
}
void
-UnusedVarCollector::visit (HIR::PathInExpression &expr)
+UnusedCollector::visit (HIR::PathInExpression &expr)
{
mark_path_used (expr);
walk (expr);
}
void
-UnusedVarCollector::visit (HIR::QualifiedPathInExpression &expr)
+UnusedCollector::visit (HIR::QualifiedPathInExpression &expr)
{
mark_path_used (expr);
walk (expr);
}
void
-UnusedVarCollector::visit (HIR::StructExprFieldIdentifier &ident)
+UnusedCollector::visit (HIR::StructExprFieldIdentifier &ident)
{
mark_path_used (ident);
walk (ident);
}
void
-UnusedVarCollector::visit (HIR::AssignmentExpr &expr)
+UnusedCollector::visit (HIR::AssignmentExpr &expr)
{
auto def_id = get_def_id (expr.get_lhs ());
HirId id = expr.get_lhs ().get_mappings ().get_hirid ();
- unused_var_context.add_assign (def_id, id);
+ unused_context.add_assign (def_id, id);
visit_outer_attrs (expr);
expr.get_rhs ().accept_vis (*this);
}
diff --git a/gcc/rust/checks/lints/unused-var/rust-unused-var-collector.h
b/gcc/rust/checks/lints/unused/rust-unused-collector.h
similarity index 84%
rename from gcc/rust/checks/lints/unused-var/rust-unused-var-collector.h
rename to gcc/rust/checks/lints/unused/rust-unused-collector.h
index d792e7d6c..7f3ad88fd 100644
--- a/gcc/rust/checks/lints/unused-var/rust-unused-var-collector.h
+++ b/gcc/rust/checks/lints/unused/rust-unused-collector.h
@@ -17,27 +17,25 @@
// <http://www.gnu.org/licenses/>.
#include "rust-hir-expr.h"
-#include "rust-hir-item.h"
#include "rust-hir-path.h"
#include "rust-hir-pattern.h"
#include "rust-hir-visitor.h"
#include "rust-mapping-common.h"
#include "rust-name-resolution-context.h"
-#include "rust-unused-var-context.h"
-#include "rust-name-resolver.h"
+#include "rust-unused-context.h"
namespace Rust {
namespace Analysis {
-class UnusedVarCollector : public HIR::DefaultHIRVisitor
+class UnusedCollector : public HIR::DefaultHIRVisitor
{
public:
- UnusedVarCollector (UnusedVarContext &context);
+ UnusedCollector (UnusedContext &context);
void go (HIR::Crate &crate);
private:
const Resolver2_0::NameResolutionContext &nr_context;
Analysis::Mappings &mappings;
- UnusedVarContext &unused_var_context;
+ UnusedContext &unused_context;
using HIR::DefaultHIRVisitor::visit;
virtual void visit (HIR::PathInExpression &expr) override;
@@ -56,8 +54,8 @@ private:
template <typename T> void mark_path_used (T &path_expr)
{
auto def_id = get_def_id (path_expr);
- unused_var_context.add_variable (def_id);
- unused_var_context.remove_assign (def_id);
+ unused_context.add_variable (def_id);
+ unused_context.remove_assign (def_id);
}
};
} // namespace Analysis
diff --git a/gcc/rust/checks/lints/unused-var/rust-unused-var-context.cc
b/gcc/rust/checks/lints/unused/rust-unused-context.cc
similarity index 78%
rename from gcc/rust/checks/lints/unused-var/rust-unused-var-context.cc
rename to gcc/rust/checks/lints/unused/rust-unused-context.cc
index 50bb85b40..d975865ed 100644
--- a/gcc/rust/checks/lints/unused-var/rust-unused-var-context.cc
+++ b/gcc/rust/checks/lints/unused/rust-unused-context.cc
@@ -16,38 +16,38 @@
// along with GCC; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-#include "rust-unused-var-context.h"
+#include "rust-unused-context.h"
namespace Rust {
namespace Analysis {
void
-UnusedVarContext::add_variable (HirId id)
+UnusedContext::add_variable (HirId id)
{
used_vars.emplace (id);
}
bool
-UnusedVarContext::is_variable_used (HirId id) const
+UnusedContext::is_variable_used (HirId id) const
{
return used_vars.find (id) != used_vars.end ();
}
void
-UnusedVarContext::add_assign (HirId id_def, HirId id)
+UnusedContext::add_assign (HirId id_def, HirId id)
{
assigned_vars[id_def].push_back (id);
}
void
-UnusedVarContext::remove_assign (HirId id_def)
+UnusedContext::remove_assign (HirId id_def)
{
if (assigned_vars.find (id_def) != assigned_vars.end ())
assigned_vars[id_def].pop_back ();
}
bool
-UnusedVarContext::is_variable_assigned (HirId id_def, HirId id)
+UnusedContext::is_variable_assigned (HirId id_def, HirId id)
{
auto assigned_vec = assigned_vars[id_def];
return std::find (assigned_vec.begin (), assigned_vec.end (), id)
@@ -55,10 +55,10 @@ UnusedVarContext::is_variable_assigned (HirId id_def, HirId
id)
}
std::string
-UnusedVarContext::as_string () const
+UnusedContext::as_string () const
{
std::stringstream ss;
- ss << "UnusedVarContext: ";
+ ss << "UnusedContext: ";
for (const auto &v : used_vars)
{
ss << "HirId: " << v << "\n";
diff --git a/gcc/rust/checks/lints/unused-var/rust-unused-var-context.h
b/gcc/rust/checks/lints/unused/rust-unused-context.h
similarity index 98%
rename from gcc/rust/checks/lints/unused-var/rust-unused-var-context.h
rename to gcc/rust/checks/lints/unused/rust-unused-context.h
index 75d358abb..0a9faf53c 100644
--- a/gcc/rust/checks/lints/unused-var/rust-unused-var-context.h
+++ b/gcc/rust/checks/lints/unused/rust-unused-context.h
@@ -21,7 +21,7 @@
namespace Rust {
namespace Analysis {
-class UnusedVarContext
+class UnusedContext
{
public:
void add_variable (HirId id);
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 1a278e4d0..b14fce83d 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -39,7 +39,7 @@
#include "rust-cfg-parser.h"
#include "rust-lint-scan-deadcode.h"
#include "rust-lint-unused-var.h"
-#include "rust-unused-var-checker.h"
+#include "rust-unused-checker.h"
#include "rust-readonly-check.h"
#include "rust-hir-dump.h"
#include "rust-ast-dump.h"
@@ -784,7 +784,7 @@ Session::compile_crate (const char *filename)
Analysis::ScanDeadcode::Scan (hir);
if (flag_unused_check_2_0)
- Analysis::UnusedVarChecker ().go (hir);
+ Analysis::UnusedChecker ().go (hir);
else
Analysis::UnusedVariables::Lint (*ctx);
--
2.52.0