Add a macro for introducer tokens. (#4031)

Playing with the macro suggestion on #4028, replace DeclKind with some
templating that asserts the in-use token is an introducer token. This
allows type-safe usage of Lex::TokenKind, reducing the benefit of a
separate enum while improving stdout (since now this will ostream as the
keyword name).
This commit is contained in:
Jon Ross-Perkins
2024-06-05 21:04:53 +00:00
committed by GitHub
parent 7792e5fce3
commit d1862e829b
16 changed files with 92 additions and 113 deletions
+1 -1
View File
@@ -77,7 +77,7 @@ auto HandleForHeaderStart(Context& context, Parse::ForHeaderStartId node_id)
}
auto HandleForIn(Context& context, Parse::ForInId node_id) -> bool {
context.decl_introducer_state_stack().Pop(DeclIntroducerState::Var);
context.decl_introducer_state_stack().Pop<Lex::TokenKind::Var>();
return context.TODO(node_id, "HandleForIn");
}