From 0011384ba64550962edf2b7174eac08e8d3a69b5 Mon Sep 17 00:00:00 2001 From: Artemy Fedotov Date: Fri, 10 Oct 2025 23:44:36 +0400 Subject: [PATCH] Safe mode: fix panic when annotation doesn't have a name --- src/formatter.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/formatter.rs b/src/formatter.rs index 6d0cbe6..8b17bfd 100644 --- a/src/formatter.rs +++ b/src/formatter.rs @@ -53,7 +53,6 @@ impl Formatter { .unwrap(); let tree = parser.parse(&content, None).unwrap(); let mut input_tree = GdTree::from_ts_tree(&tree, content.as_bytes()); - input_tree.postprocess(); Self { content, @@ -145,6 +144,7 @@ impl Formatter { #[inline(always)] fn finish(mut self) -> Result> { if self.config.safe { + self.input_tree.postprocess(); self.tree = self.parser.parse(&self.content, None).unwrap(); let output_tree = GdTree::from_ts_tree(&self.tree, self.content.as_bytes()); @@ -587,8 +587,9 @@ impl GdTree { if child.grammar_name != "annotation" { return None; } - let annotation_name = - self.nodes[child.children[0]].text.as_deref().unwrap(); + let Some(annotation_name) = &self.nodes[child.children[0]].text else { + return None; + }; if annotation_name != "onready" && annotation_name != "export" { return None; }