aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/hcl2/hcl/json/ast.go
diff options
context:
space:
mode:
authorAlex Pilon <apilon@hashicorp.com>2019-02-22 18:24:37 -0500
committerAlex Pilon <apilon@hashicorp.com>2019-02-22 18:24:37 -0500
commit15c0b25d011f37e7c20aeca9eaf461f78285b8d9 (patch)
tree255c250a5c9d4801c74092d33b7337d8c14438ff /vendor/github.com/hashicorp/hcl2/hcl/json/ast.go
parent07971ca38143c5faf951d152fba370ddcbe26ad5 (diff)
downloadterraform-provider-statuscake-15c0b25d011f37e7c20aeca9eaf461f78285b8d9.tar.gz
terraform-provider-statuscake-15c0b25d011f37e7c20aeca9eaf461f78285b8d9.tar.zst
terraform-provider-statuscake-15c0b25d011f37e7c20aeca9eaf461f78285b8d9.zip
deps: github.com/hashicorp/terraform@sdk-v0.11-with-go-modules
Updated via: go get github.com/hashicorp/terraform@sdk-v0.11-with-go-modules and go mod tidy
Diffstat (limited to 'vendor/github.com/hashicorp/hcl2/hcl/json/ast.go')
-rw-r--r--vendor/github.com/hashicorp/hcl2/hcl/json/ast.go121
1 files changed, 121 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/hcl2/hcl/json/ast.go b/vendor/github.com/hashicorp/hcl2/hcl/json/ast.go
new file mode 100644
index 0000000..753bfa0
--- /dev/null
+++ b/vendor/github.com/hashicorp/hcl2/hcl/json/ast.go
@@ -0,0 +1,121 @@
1package json
2
3import (
4 "math/big"
5
6 "github.com/hashicorp/hcl2/hcl"
7)
8
9type node interface {
10 Range() hcl.Range
11 StartRange() hcl.Range
12}
13
14type objectVal struct {
15 Attrs []*objectAttr
16 SrcRange hcl.Range // range of the entire object, brace-to-brace
17 OpenRange hcl.Range // range of the opening brace
18 CloseRange hcl.Range // range of the closing brace
19}
20
21func (n *objectVal) Range() hcl.Range {
22 return n.SrcRange
23}
24
25func (n *objectVal) StartRange() hcl.Range {
26 return n.OpenRange
27}
28
29type objectAttr struct {
30 Name string
31 Value node
32 NameRange hcl.Range // range of the name string
33}
34
35func (n *objectAttr) Range() hcl.Range {
36 return n.NameRange
37}
38
39func (n *objectAttr) StartRange() hcl.Range {
40 return n.NameRange
41}
42
43type arrayVal struct {
44 Values []node
45 SrcRange hcl.Range // range of the entire object, bracket-to-bracket
46 OpenRange hcl.Range // range of the opening bracket
47}
48
49func (n *arrayVal) Range() hcl.Range {
50 return n.SrcRange
51}
52
53func (n *arrayVal) StartRange() hcl.Range {
54 return n.OpenRange
55}
56
57type booleanVal struct {
58 Value bool
59 SrcRange hcl.Range
60}
61
62func (n *booleanVal) Range() hcl.Range {
63 return n.SrcRange
64}
65
66func (n *booleanVal) StartRange() hcl.Range {
67 return n.SrcRange
68}
69
70type numberVal struct {
71 Value *big.Float
72 SrcRange hcl.Range
73}
74
75func (n *numberVal) Range() hcl.Range {
76 return n.SrcRange
77}
78
79func (n *numberVal) StartRange() hcl.Range {
80 return n.SrcRange
81}
82
83type stringVal struct {
84 Value string
85 SrcRange hcl.Range
86}
87
88func (n *stringVal) Range() hcl.Range {
89 return n.SrcRange
90}
91
92func (n *stringVal) StartRange() hcl.Range {
93 return n.SrcRange
94}
95
96type nullVal struct {
97 SrcRange hcl.Range
98}
99
100func (n *nullVal) Range() hcl.Range {
101 return n.SrcRange
102}
103
104func (n *nullVal) StartRange() hcl.Range {
105 return n.SrcRange
106}
107
108// invalidVal is used as a placeholder where a value is needed for a valid
109// parse tree but the input was invalid enough to prevent one from being
110// created.
111type invalidVal struct {
112 SrcRange hcl.Range
113}
114
115func (n invalidVal) Range() hcl.Range {
116 return n.SrcRange
117}
118
119func (n invalidVal) StartRange() hcl.Range {
120 return n.SrcRange
121}