diff options
Diffstat (limited to 'vendor/github.com/hashicorp/hcl2/hcl/hclsyntax/node.go')
-rw-r--r-- | vendor/github.com/hashicorp/hcl2/hcl/hclsyntax/node.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/hcl2/hcl/hclsyntax/node.go b/vendor/github.com/hashicorp/hcl2/hcl/hclsyntax/node.go new file mode 100644 index 0000000..fd426d4 --- /dev/null +++ b/vendor/github.com/hashicorp/hcl2/hcl/hclsyntax/node.go | |||
@@ -0,0 +1,22 @@ | |||
1 | package hclsyntax | ||
2 | |||
3 | import ( | ||
4 | "github.com/hashicorp/hcl2/hcl" | ||
5 | ) | ||
6 | |||
7 | // Node is the abstract type that every AST node implements. | ||
8 | // | ||
9 | // This is a closed interface, so it cannot be implemented from outside of | ||
10 | // this package. | ||
11 | type Node interface { | ||
12 | // This is the mechanism by which the public-facing walk functions | ||
13 | // are implemented. Implementations should call the given function | ||
14 | // for each child node and then replace that node with its return value. | ||
15 | // The return value might just be the same node, for non-transforming | ||
16 | // walks. | ||
17 | walkChildNodes(w internalWalkFunc) | ||
18 | |||
19 | Range() hcl.Range | ||
20 | } | ||
21 | |||
22 | type internalWalkFunc func(Node) Node | ||