diff options
Diffstat (limited to 'gcc/rust/util/rust-hir-map.h')
-rw-r--r-- | gcc/rust/util/rust-hir-map.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gcc/rust/util/rust-hir-map.h b/gcc/rust/util/rust-hir-map.h index 0bb870b..03bfd5f 100644 --- a/gcc/rust/util/rust-hir-map.h +++ b/gcc/rust/util/rust-hir-map.h @@ -19,6 +19,7 @@ #ifndef RUST_HIR_MAP_H #define RUST_HIR_MAP_H +#include "rust-optional.h" #include "rust-system.h" #include "rust-location.h" #include "rust-mapping-common.h" @@ -318,8 +319,11 @@ public: bool lookup_macro_def (NodeId id, AST::MacroRulesDefinition **def); - void insert_visibility (DefId id, Privacy::ModuleVisibility visibility); - bool lookup_visibility (DefId id, Privacy::ModuleVisibility *def); + void insert_visibility (NodeId id, Privacy::ModuleVisibility visibility); + bool lookup_visibility (NodeId id, Privacy::ModuleVisibility &def); + + void insert_module_child (NodeId module, NodeId child); + Optional<std::vector<NodeId> &> lookup_module_children (NodeId module); private: Mappings (); @@ -385,7 +389,12 @@ private: std::map<CrateNum, std::string> crate_names; // Low level visibility map for each DefId - std::map<DefId, Privacy::ModuleVisibility> visibility_map; + std::map<NodeId, Privacy::ModuleVisibility> visibility_map; + + // Module tree maps + + // Maps each module's node id to a list of its children + std::map<NodeId, std::vector<NodeId>> module_child_map; }; } // namespace Analysis |