From 143a545916cd7b6998c85b05e007183eeb7df6e4 Mon Sep 17 00:00:00 2001 From: Masayuki Morita Date: Wed, 29 Jan 2020 14:56:39 +0900 Subject: hclwrite: Fix a bug that Block.open/close positions were not recorded in parser While implementing Block.SetLabels(), I found a new hclwrite parser bug. The NewBlock() method records positions of TokenOBrace / TokenCBrace. Nevertheless when generating blocks via hclwrite.ParseConfig(), they were not recorded. The position of TokenOBrace is needed for Block.SetLabels(), so I also fixed this existing bug. --- hclwrite/parser.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'hclwrite') diff --git a/hclwrite/parser.go b/hclwrite/parser.go index 354d4ea..ad5fcda 100644 --- a/hclwrite/parser.go +++ b/hclwrite/parser.go @@ -329,7 +329,7 @@ func parseBlock(nativeBlock *hclsyntax.Block, from, leadComments, lineComments, before, oBrace, from := from.Partition(nativeBlock.OpenBraceRange) children.AppendUnstructuredTokens(before.Tokens()) - children.AppendUnstructuredTokens(oBrace.Tokens()) + block.open = children.AppendUnstructuredTokens(oBrace.Tokens()) // We go a bit out of order here: we go hunting for the closing brace // so that we have a delimited body, but then we'll deal with the body @@ -342,7 +342,7 @@ func parseBlock(nativeBlock *hclsyntax.Block, from, leadComments, lineComments, children.AppendNode(body) children.AppendUnstructuredTokens(after.Tokens()) - children.AppendUnstructuredTokens(cBrace.Tokens()) + block.close = children.AppendUnstructuredTokens(cBrace.Tokens()) // stragglers children.AppendUnstructuredTokens(from.Tokens()) -- cgit v1.2.3