diff options
author | Marc Poulhiès <dkm@kataplop.net> | 2023-06-30 00:44:52 +0200 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2023-06-30 17:15:14 +0000 |
commit | ec0c3ad30d2fc188dea1de1722f7a8601afe0671 (patch) | |
tree | 552efd2bb69a223f29633c1eb7981a26b0db33e0 /gcc/rust/hir | |
parent | f044da10735895f0da58c68eb42eba8ac9c82b89 (diff) | |
download | gcc-ec0c3ad30d2fc188dea1de1722f7a8601afe0671.zip gcc-ec0c3ad30d2fc188dea1de1722f7a8601afe0671.tar.gz gcc-ec0c3ad30d2fc188dea1de1722f7a8601afe0671.tar.bz2 |
gccrs: refactor: make crate.items private
Introduce Crate::get_items () and fixup all callers.
gcc/rust/ChangeLog:
* hir/tree/rust-hir.h (struct Crate): Rename struct into ...
(class Crate): ... class, and add get_items.
* backend/rust-compile.cc (CompileCrate::go): Adapt to visibility change of items.
* checks/errors/privacy/rust-privacy-check.cc (Resolver::resolve): Likewise.
* checks/errors/privacy/rust-privacy-reporter.cc (PrivacyReporter::go): Likewise.
* checks/errors/privacy/rust-pub-restricted-visitor.cc (PubRestrictedVisitor::go): Likewise.
* checks/errors/privacy/rust-visibility-resolver.cc (VisibilityResolver::go): Likewise.
* checks/errors/rust-const-checker.cc (ConstChecker::go): Likewise.
* checks/errors/rust-unsafe-checker.cc (UnsafeChecker::go): Likewise.
* checks/lints/rust-lint-marklive.cc (FindEntryPoint::find): Likewise.
* checks/lints/rust-lint-scan-deadcode.h (ScanDeadCode::Scan): Likewise.
* metadata/rust-export-metadata.cc (PublicInterface::gather_export_data): Likewise.
* typecheck/rust-hir-type-check.cc (TypeResolution::Resolve): Likewise.
* hir/rust-hir-dump.cc (CompileCrate::go): Likewise.
Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
Diffstat (limited to 'gcc/rust/hir')
-rw-r--r-- | gcc/rust/hir/rust-hir-dump.cc | 2 | ||||
-rw-r--r-- | gcc/rust/hir/tree/rust-hir.h | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hir-dump.cc index 5f3db42..f421f2d 100644 --- a/gcc/rust/hir/rust-hir-dump.cc +++ b/gcc/rust/hir/rust-hir-dump.cc @@ -46,7 +46,7 @@ Dump::go (HIR::Crate &crate) stream << "items: ["; stream << indentation; - for (const auto &item : crate.items) + for (const auto &item : crate.get_items ()) { stream << std::endl; item->accept_vis (*this); diff --git a/gcc/rust/hir/tree/rust-hir.h b/gcc/rust/hir/tree/rust-hir.h index 3a97916..8a720a1 100644 --- a/gcc/rust/hir/tree/rust-hir.h +++ b/gcc/rust/hir/tree/rust-hir.h @@ -863,18 +863,18 @@ protected: }; // A crate HIR object - holds all the data for a single compilation unit -struct Crate : public WithInnerAttrs +class Crate : public WithInnerAttrs { // dodgy spacing required here /* TODO: is it better to have a vector of items here or a module (implicit * top-level one)? */ - std::vector<std::unique_ptr<Item> > items; + std::vector<std::unique_ptr<Item>> items; Analysis::NodeMapping mappings; public: // Constructor - Crate (std::vector<std::unique_ptr<Item> > items, AST::AttrVec inner_attrs, + Crate (std::vector<std::unique_ptr<Item>> items, AST::AttrVec inner_attrs, Analysis::NodeMapping mappings) : WithInnerAttrs (std::move (inner_attrs)), items (std::move (items)), mappings (mappings) @@ -912,6 +912,7 @@ public: std::string as_string () const; const Analysis::NodeMapping &get_mappings () const { return mappings; } + std::vector<std::unique_ptr<Item>> &get_items () { return items; } }; // Base path expression HIR node - abstract |