Drop fn destroy support (#6136)

`fn destroy` is being removed per decision on #6124. It seems like the
relevant decision will result in no more keyword-based function names,
so this is removing all related support.
This commit is contained in:
Jon Ross-Perkins
2025-09-25 21:56:48 +00:00
committed by GitHub
parent 5b34054341
commit 705c95d6e0
18 changed files with 160 additions and 701 deletions
@@ -55,13 +55,6 @@ auto HandleDeclNameAndParams(Context& context) -> void {
return;
}
if (auto keyword = context.ConsumeIf(Lex::TokenKind::Destroy)) {
HandleName(context, state, *keyword, NodeKind::KeywordNameNotBeforeParams,
NodeKind::KeywordNameQualifierWithoutParams,
NodeKind::KeywordNameBeforeParams);
return;
}
Lex::TokenIndex token = *context.position();
if (context.tokens().GetKind(token) == Lex::TokenKind::FileEnd) {
// The end of file is an unhelpful diagnostic location. Instead, use the
@@ -100,11 +93,10 @@ auto HandleDeclNameAndParamsAfterParams(Context& context) -> void {
auto state = context.PopState();
if (auto period = context.ConsumeIf(Lex::TokenKind::Period)) {
auto start_kind = context.tree().node_kind(NodeId(state.subtree_start));
auto node_kind = start_kind == NodeKind::IdentifierNameBeforeParams
? NodeKind::IdentifierNameQualifierWithParams
: NodeKind::KeywordNameQualifierWithParams;
context.AddNode(node_kind, *period, state.has_error);
CARBON_CHECK(context.tree().node_kind(NodeId(state.subtree_start)) ==
NodeKind::IdentifierNameBeforeParams);
context.AddNode(NodeKind::IdentifierNameQualifierWithParams, *period,
state.has_error);
context.PushState(StateKind::DeclNameAndParams);
}
}