mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 21:10:12 +01:00
Add support for var patterns (#5069)
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
This commit is contained in:
co-authored by
Richard Smith
parent
331f55f0a2
commit
6d4f2567a7
@@ -26,6 +26,7 @@
|
||||
#include "toolchain/sem_ir/entry_point.h"
|
||||
#include "toolchain/sem_ir/function.h"
|
||||
#include "toolchain/sem_ir/ids.h"
|
||||
#include "toolchain/sem_ir/pattern.h"
|
||||
#include "toolchain/sem_ir/typed_insts.h"
|
||||
|
||||
namespace Carbon::Check {
|
||||
@@ -267,13 +268,11 @@ static auto BuildFunctionDecl(Context& context,
|
||||
auto self_param_id = SemIR::InstId::None;
|
||||
auto implicit_param_patterns =
|
||||
context.inst_blocks().GetOrEmpty(name.implicit_param_patterns_id);
|
||||
if (const auto* i =
|
||||
llvm::find_if(implicit_param_patterns,
|
||||
[&](auto implicit_param_id) {
|
||||
return SemIR::Function::GetNameFromPatternId(
|
||||
context.sem_ir(), implicit_param_id) ==
|
||||
SemIR::NameId::SelfValue;
|
||||
});
|
||||
if (const auto* i = llvm::find_if(implicit_param_patterns,
|
||||
[&](auto implicit_param_id) {
|
||||
return SemIR::IsSelfPattern(
|
||||
context.sem_ir(), implicit_param_id);
|
||||
});
|
||||
i != implicit_param_patterns.end()) {
|
||||
self_param_id = *i;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user