Separate fields from other var decls in parse (#5320)

This enables us to decouple class fields from pattern matching.

---------

Co-authored-by: josh11b <15258583+josh11b@users.noreply.github.com>
This commit is contained in:
Geoff Romer
2025-04-22 17:15:53 +00:00
committed by GitHub
co-authored by josh11b
parent b477797239
commit f5b5731c76
112 changed files with 1266 additions and 1295 deletions
+3 -1
View File
@@ -436,7 +436,9 @@ auto Context::DiagnoseExpectedDeclSemiOrDefinition(Lex::TokenKind expected_kind)
// definitions are deferred, such as a class or interface.
static auto ParsingInDeferredDefinitionScope(Context& context) -> bool {
auto& stack = context.state_stack();
if (stack.size() < 2 || stack.back().kind != StateKind::DeclScopeLoop) {
if (stack.size() < 2 ||
(stack.back().kind != StateKind::DeclScopeLoopAsClass &&
stack.back().kind != StateKind::DeclScopeLoopAsNonClass)) {
return false;
}
auto kind = stack[stack.size() - 2].kind;