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 \
-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 \
$(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)
// 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"
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 ();
}
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 ();
}
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 ();
}
void
-UnusedVarChecker::visit (HIR::AssignmentExpr &expr)
+UnusedChecker::visit (HIR::AssignmentExpr &expr)
{
const auto &lhs = expr.get_lhs ();
#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;
// 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);
}
// <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;
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
// 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)
}
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";
namespace Rust {
namespace Analysis {
-class UnusedVarContext
+class UnusedContext
{
public:
void add_variable (HirId id);
#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"
Analysis::ScanDeadcode::Scan (hir);
if (flag_unused_check_2_0)
- Analysis::UnusedVarChecker ().go (hir);
+ Analysis::UnusedChecker ().go (hir);
else
Analysis::UnusedVariables::Lint (*ctx);