diff options
author | Jakub Dupak <dev@jakubdupak.com> | 2024-02-02 12:11:45 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2024-08-01 13:12:16 +0200 |
commit | 54d8f97ee172d8a7dd434d44fdbfbd1666de8b34 (patch) | |
tree | 9a74fe4fd3ea107cd574c140889667a7c865eb68 /gcc | |
parent | 302ad5de0792978683f3599e13fdf0a75dacc051 (diff) | |
download | gcc-54d8f97ee172d8a7dd434d44fdbfbd1666de8b34.zip gcc-54d8f97ee172d8a7dd434d44fdbfbd1666de8b34.tar.gz gcc-54d8f97ee172d8a7dd434d44fdbfbd1666de8b34.tar.bz2 |
gccrs: TyTy: add common SubstitutionRef API
gcc/rust/ChangeLog:
* typecheck/rust-tyty-subst.cc (SubstitutionRef::get_arg_at):
Add unified API.
Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/typecheck/rust-tyty-subst.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/rust/typecheck/rust-tyty-subst.cc b/gcc/rust/typecheck/rust-tyty-subst.cc index 5a75356..71d41d6 100644 --- a/gcc/rust/typecheck/rust-tyty-subst.cc +++ b/gcc/rust/typecheck/rust-tyty-subst.cc @@ -589,6 +589,17 @@ SubstitutionRef::get_used_arguments () const return used_arguments; } +tl::optional<SubstitutionArg> +SubstitutionRef::get_arg_at (size_t i) const +{ + auto param_ty = get_substs ().at (i).get_param_ty (); + SubstitutionArg arg = SubstitutionArg::error (); + get_used_arguments ().get_argument_for_symbol (param_ty, &arg); + if (arg.is_error ()) + return tl::nullopt; + return arg; +} + const RegionConstraints & SubstitutionRef::get_region_constraints () const { |