public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-7878] gccrs: nr2.0: Use DefaultResolver for TopLevel
@ 2024-01-16 18:03 Arthur Cohen
0 siblings, 0 replies; only message in thread
From: Arthur Cohen @ 2024-01-16 18:03 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:3b0a200eb8c986f17c550b902d5f7ab832b716e2
commit r14-7878-g3b0a200eb8c986f17c550b902d5f7ab832b716e2
Author: Arthur Cohen <arthur.cohen@embecosm.com>
Date: Thu Jul 20 15:15:21 2023 +0200
gccrs: nr2.0: Use DefaultResolver for TopLevel
gcc/rust/ChangeLog:
* resolve/rust-toplevel-name-resolver-2.0.h
(class TopLevel): Inherit from DefaultResolver
* resolve/rust-toplevel-name-resolver-2.0.cc
(TopLevel::TopLevel): Remove unecessary methods
Diff:
---
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc | 4 +++-
gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h | 19 ++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
index 73c857e3ba7..7923342b39a 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc
@@ -23,7 +23,9 @@
namespace Rust {
namespace Resolver2_0 {
-TopLevel::TopLevel (NameResolutionContext &resolver) : ctx (resolver) {}
+TopLevel::TopLevel (NameResolutionContext &resolver)
+ : DefaultResolver (resolver)
+{}
template <typename T>
void
diff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
index db2033fc91c..93d40b8cb2b 100644
--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.h
@@ -21,7 +21,7 @@
#include "rust-ast-visitor.h"
#include "rust-name-resolution-context.h"
-#include "rust-ast-resolve-base.h"
+#include "rust-default-resolver.h"
namespace Rust {
namespace Resolver2_0 {
@@ -31,10 +31,9 @@ namespace Resolver2_0 {
* crate, and inserting them into the proper namespaces. These definitions can
* then be accessed by subsequent resolvers, such as `Early` or `Late`.
*/
-// TODO: Merge Resolver namespaces and use `public ResolverBase`
-class TopLevel : public ::Rust::Resolver::ResolverBase
+class TopLevel : public DefaultResolver
{
- using ::Rust::Resolver::ResolverBase::visit;
+ using DefaultResolver::visit;
public:
TopLevel (NameResolutionContext &resolver);
@@ -42,9 +41,15 @@ public:
void go (AST::Crate &crate);
private:
- NameResolutionContext &ctx;
-
- // FIXME: Documentation
+ /**
+ * Insert a new definition or error out if a definition with the same name was
+ * already present in the same namespace in the same scope.
+ *
+ * @param identifier The identifier of the definition to add.
+ * @param node A reference to the node, so we can get its `NodeId` and
+ * location.
+ * @param ns The namespace in which to add the definition.
+ */
template <typename T>
void insert_or_error_out (const Identifier &identifier, const T &node,
Namespace ns);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-01-16 18:03 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-16 18:03 [gcc r14-7878] gccrs: nr2.0: Use DefaultResolver for TopLevel Arthur Cohen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).