|
|
@@ -51,6 +51,12 @@ struct FunctionFields {
|
|
|
struct Function : public EntityWithParamsBase,
|
|
|
public FunctionFields,
|
|
|
public Printable<Function> {
|
|
|
+ struct ParamPatternInfo {
|
|
|
+ InstId inst_id;
|
|
|
+ AnyParamPattern inst;
|
|
|
+ EntityNameId entity_name_id;
|
|
|
+ };
|
|
|
+
|
|
|
auto Print(llvm::raw_ostream& out) const -> void {
|
|
|
out << "{";
|
|
|
PrintBaseFields(out);
|
|
|
@@ -69,14 +75,6 @@ struct Function : public EntityWithParamsBase,
|
|
|
// `implicit_param_patterns_id`, returns a `ParamPatternInfo` value with the
|
|
|
// corresponding instruction, its ID, and the entity_name_id of the underlying
|
|
|
// binding pattern.
|
|
|
- struct ParamPatternInfo {
|
|
|
- InstId inst_id;
|
|
|
- AnyParamPattern inst;
|
|
|
- EntityNameId entity_name_id;
|
|
|
-
|
|
|
- auto GetNameId(const File& sem_ir) -> NameId;
|
|
|
- };
|
|
|
-
|
|
|
static auto GetParamPatternInfoFromPatternId(const File& sem_ir,
|
|
|
InstId param_pattern_id)
|
|
|
-> ParamPatternInfo;
|