in hcl_block.go [137:180]
func readRawHclSyntaxBlock(b *hclsyntax.Block) []*hclsyntax.Block {
switch b.Type {
case "locals":
{
var newBlocks []*hclsyntax.Block
for _, attr := range b.Body.Attributes {
newBlocks = append(newBlocks, &hclsyntax.Block{
Type: "local",
Labels: []string{"", attr.Name},
Body: &hclsyntax.Body{
Attributes: map[string]*hclsyntax.Attribute{
"value": {
Name: "value",
Expr: attr.Expr,
SrcRange: attr.SrcRange,
NameRange: attr.NameRange,
EqualsRange: attr.EqualsRange,
},
},
SrcRange: attr.NameRange,
EndRange: attr.SrcRange,
},
})
}
return newBlocks
}
case "variable":
{
return []*hclsyntax.Block{
{
Type: "variable",
Labels: append([]string{""}, b.Labels...),
Body: b.Body,
TypeRange: b.TypeRange,
LabelRanges: b.LabelRanges,
OpenBraceRange: b.OpenBraceRange,
CloseBraceRange: b.CloseBraceRange,
},
}
}
default:
return []*hclsyntax.Block{b}
}
}