diff --git a/toolchain/sem_ir/file.cpp b/toolchain/sem_ir/file.cpp index 41700e62b36d..dec354c32a7d 100644 --- a/toolchain/sem_ir/file.cpp +++ b/toolchain/sem_ir/file.cpp @@ -19,23 +19,6 @@ namespace Carbon::SemIR { -auto Function::GetParamFromParamRefId(const File& sem_ir, InstId param_ref_id) - -> std::pair { - auto ref = sem_ir.insts().Get(param_ref_id); - - if (auto addr_pattern = ref.TryAs()) { - param_ref_id = addr_pattern->inner_id; - ref = sem_ir.insts().Get(param_ref_id); - } - - if (auto bind_name = ref.TryAs()) { - param_ref_id = bind_name->value_id; - ref = sem_ir.insts().Get(param_ref_id); - } - - return {param_ref_id, ref.As()}; -} - auto ValueRepr::Print(llvm::raw_ostream& out) const -> void { out << "{kind: "; switch (kind) { diff --git a/toolchain/sem_ir/function.cpp b/toolchain/sem_ir/function.cpp index 11aa49995759..e62685314876 100644 --- a/toolchain/sem_ir/function.cpp +++ b/toolchain/sem_ir/function.cpp @@ -42,6 +42,23 @@ auto GetCalleeFunction(const File& sem_ir, InstId callee_id) -> CalleeFunction { return result; } +auto Function::GetParamFromParamRefId(const File& sem_ir, InstId param_ref_id) + -> std::pair { + auto ref = sem_ir.insts().Get(param_ref_id); + + if (auto addr_pattern = ref.TryAs()) { + param_ref_id = addr_pattern->inner_id; + ref = sem_ir.insts().Get(param_ref_id); + } + + if (auto bind_name = ref.TryAs()) { + param_ref_id = bind_name->value_id; + ref = sem_ir.insts().Get(param_ref_id); + } + + return {param_ref_id, ref.As()}; +} + auto Function::GetDeclaredReturnType(const File& file, SpecificId specific_id) const -> TypeId { if (!return_storage_id.is_valid()) {