diff options
author | Owen Avery <powerboat9.gamer@gmail.com> | 2024-11-01 12:58:44 -0400 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2024-11-01 17:47:31 +0000 |
commit | d3968ea82f6ecbb6bbad0d2d81d40529615126b3 (patch) | |
tree | e23e1dfa638566db8893a1231ea9bb20cf6f44c5 /gcc | |
parent | 4686e63c4e840417f2522fabb5611701eee92eca (diff) | |
download | gcc-d3968ea82f6ecbb6bbad0d2d81d40529615126b3.zip gcc-d3968ea82f6ecbb6bbad0d2d81d40529615126b3.tar.gz gcc-d3968ea82f6ecbb6bbad0d2d81d40529615126b3.tar.bz2 |
Remove usage of Resolver::get_builtin_types
gcc/rust/ChangeLog:
* backend/rust-compile-context.cc
(Context::setup_builtins): Use TypeCheckContext::get_builtins
instead of Resolver::get_builtin_types,
TypeCheckContext::lookup_type_by_node_id, and
TypeCheckContext::lookup_type.
* typecheck/rust-hir-type-check.h
(TypeCheckContext::get_builtins): Add.
* typecheck/rust-typecheck-context.cc
(TypeCheckContext::get_builtins): Add.
Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/backend/rust-compile-context.cc | 15 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-hir-type-check.h | 1 | ||||
-rw-r--r-- | gcc/rust/typecheck/rust-typecheck-context.cc | 6 |
3 files changed, 9 insertions, 13 deletions
diff --git a/gcc/rust/backend/rust-compile-context.cc b/gcc/rust/backend/rust-compile-context.cc index e9d44f9..b4c544e 100644 --- a/gcc/rust/backend/rust-compile-context.cc +++ b/gcc/rust/backend/rust-compile-context.cc @@ -33,19 +33,8 @@ Context::Context () void Context::setup_builtins () { - auto builtins = resolver->get_builtin_types (); - for (auto it = builtins.begin (); it != builtins.end (); it++) - { - HirId ref; - bool ok = tyctx->lookup_type_by_node_id ((*it)->get_node_id (), &ref); - rust_assert (ok); - - TyTy::BaseType *lookup; - ok = tyctx->lookup_type (ref, &lookup); - rust_assert (ok); - - TyTyResolveCompile::compile (this, lookup); - } + for (auto &builtin : tyctx->get_builtins ()) + TyTyResolveCompile::compile (this, builtin.get ()); } hashval_t diff --git a/gcc/rust/typecheck/rust-hir-type-check.h b/gcc/rust/typecheck/rust-hir-type-check.h index eb0c849..9c9523a 100644 --- a/gcc/rust/typecheck/rust-hir-type-check.h +++ b/gcc/rust/typecheck/rust-hir-type-check.h @@ -135,6 +135,7 @@ public: bool lookup_builtin (NodeId id, TyTy::BaseType **type); bool lookup_builtin (std::string name, TyTy::BaseType **type); void insert_builtin (HirId id, NodeId ref, TyTy::BaseType *type); + const std::vector<std::unique_ptr<TyTy::BaseType>> &get_builtins () const; void insert_type (const Analysis::NodeMapping &mappings, TyTy::BaseType *type); diff --git a/gcc/rust/typecheck/rust-typecheck-context.cc b/gcc/rust/typecheck/rust-typecheck-context.cc index b4ff6d6..d79ddf4 100644 --- a/gcc/rust/typecheck/rust-typecheck-context.cc +++ b/gcc/rust/typecheck/rust-typecheck-context.cc @@ -73,6 +73,12 @@ TypeCheckContext::insert_builtin (HirId id, NodeId ref, TyTy::BaseType *type) builtins.push_back (std::unique_ptr<TyTy::BaseType> (type)); } +const std::vector<std::unique_ptr<TyTy::BaseType>> & +TypeCheckContext::get_builtins () const +{ + return builtins; +} + void TypeCheckContext::insert_type (const Analysis::NodeMapping &mappings, TyTy::BaseType *type) |