From 19b6f0116181c4dfbb21b82f7527383337666069 Mon Sep 17 00:00:00 2001 From: Mateusz Poliwczak Date: Thu, 20 Mar 2025 09:12:17 +0100 Subject: [PATCH] go/parser: add *ast.BlockStmt depth test At first glance i have thought that we do not handle such case properly, because parseBlockStmt and parseStmtList do not call call the incNestLev. Fortunately parseStmt does, so it is detected properly. As we don't have a test case directly for blockstmts only, i think it is worth adding one. Change-Id: If149b86fd90a7ee4a33c861070d1bafdd40e98ff Reviewed-on: https://go-review.googlesource.com/c/go/+/659455 Reviewed-by: Roland Shoemaker Commit-Queue: Robert Griesemer LUCI-TryBot-Result: Go LUCI Reviewed-by: Robert Griesemer Auto-Submit: Robert Griesemer --- src/go/parser/parser_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/go/parser/parser_test.go b/src/go/parser/parser_test.go index 869d803df6..714a6e0237 100644 --- a/src/go/parser/parser_test.go +++ b/src/go/parser/parser_test.go @@ -632,6 +632,7 @@ var parseDepthTests = []struct { {name: "go", format: "package main; func main() { «go func() { «» }()» }", parseMultiplier: 2, scope: true}, // Parser nodes: GoStmt, FuncLit {name: "defer", format: "package main; func main() { «defer func() { «» }()» }", parseMultiplier: 2, scope: true}, // Parser nodes: DeferStmt, FuncLit {name: "select", format: "package main; func main() { «select { default: «» }» }", scope: true}, + {name: "block", format: "package main; func main() { «{«»}» }", scope: true}, } // split splits pre«mid»post into pre, mid, post. -- 2.51.0