Scaffolding for checking impls. (#3672)

Consume the components of the `impl` declaration, and set up scopes for
the child elements. We don't yet build a representation for the impl
itself.

Also, add an interface type value. This is necessary so that we have a
value for the expression on the right-hand side of `as` in an `impl`.
This commit is contained in:
Richard Smith
2024-01-31 22:18:29 +00:00
committed by GitHub
parent 44fca1669a
commit 9e7a17b1a1
19 changed files with 335 additions and 20 deletions
+2
View File
@@ -492,6 +492,7 @@ class NodeStack {
return IdKind::InstId;
case Parse::NodeKind::IfCondition:
case Parse::NodeKind::IfExprIf:
case Parse::NodeKind::ImplForall:
case Parse::NodeKind::ImplicitParamList:
case Parse::NodeKind::TuplePattern:
case Parse::NodeKind::WhileCondition:
@@ -513,6 +514,7 @@ class NodeStack {
case Parse::NodeKind::FunctionIntroducer:
case Parse::NodeKind::IfStatementElse:
case Parse::NodeKind::ImplicitParamListStart:
case Parse::NodeKind::ImplIntroducer:
case Parse::NodeKind::InterfaceIntroducer:
case Parse::NodeKind::LetIntroducer:
case Parse::NodeKind::QualifiedName: