From 5784ef22f68d6d310f77a5c821e988c6a4dad72d Mon Sep 17 00:00:00 2001 From: Taus Date: Tue, 12 May 2026 14:40:17 +0000 Subject: [PATCH] unified: Unify more fields Not entirely happy about the mixed nature of the `kind` filed (having both tokens and the named node `throw_keyword` in there), but that's a problem for a different time. --- unified/extractor/tree-sitter-swift/grammar.js | 5 ++++- unified/extractor/tree-sitter-swift/node-types.yml | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/unified/extractor/tree-sitter-swift/grammar.js b/unified/extractor/tree-sitter-swift/grammar.js index 1518df0e3dd..4c5e175f60a 100644 --- a/unified/extractor/tree-sitter-swift/grammar.js +++ b/unified/extractor/tree-sitter-swift/grammar.js @@ -1266,7 +1266,10 @@ module.exports = grammar({ ), control_transfer_statement: ($) => choice( - prec.right(PRECS.control_transfer, $._throw_statement), + prec.right( + PRECS.control_transfer, + seq(field("kind", $.throw_keyword), field("result", $.expression)) + ), prec.right( PRECS.control_transfer, seq( diff --git a/unified/extractor/tree-sitter-swift/node-types.yml b/unified/extractor/tree-sitter-swift/node-types.yml index b3ac84362bf..ca80ea2c359 100644 --- a/unified/extractor/tree-sitter-swift/node-types.yml +++ b/unified/extractor/tree-sitter-swift/node-types.yml @@ -220,8 +220,7 @@ named: lambda*: lambda_literal name*: simple_identifier control_transfer_statement: - $children*: [expression, throw_keyword] - kind?: ["break", "continue", "return", "yield"] + kind: ["break", "continue", "return", throw_keyword, "yield"] result?: expression custom_operator: default_keyword: