]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blob - vendor/github.com/hashicorp/hcl2/hcl/hclsyntax/node.go
Upgrade to 0.12
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / hashicorp / hcl2 / hcl / hclsyntax / node.go
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)