summaryrefslogtreecommitdiff
path: root/hcl/json/structure.go
diff options
context:
space:
mode:
Diffstat (limited to 'hcl/json/structure.go')
-rw-r--r--hcl/json/structure.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/hcl/json/structure.go b/hcl/json/structure.go
index 0f2b201..1e9d4b5 100644
--- a/hcl/json/structure.go
+++ b/hcl/json/structure.go
@@ -432,7 +432,8 @@ func (e *expression) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnostics) {
Value: jsonAttr.Name,
SrcRange: jsonAttr.NameRange,
}}).Value(ctx)
- val, valDiags := (&expression{src: jsonAttr.Value}).Value(ctx)
+ valExpr := &expression{src: jsonAttr.Value}
+ val, valDiags := valExpr.Value(ctx)
diags = append(diags, nameDiags...)
diags = append(diags, valDiags...)
@@ -444,6 +445,7 @@ func (e *expression) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnostics) {
Summary: "Invalid object key expression",
Detail: fmt.Sprintf("Cannot use this expression as an object key: %s.", err),
Subject: &jsonAttr.NameRange,
+ Expression: valExpr,
EvalContext: ctx,
})
continue
@@ -454,6 +456,7 @@ func (e *expression) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnostics) {
Summary: "Invalid object key expression",
Detail: "Cannot use null value as an object key.",
Subject: &jsonAttr.NameRange,
+ Expression: valExpr,
EvalContext: ctx,
})
continue
@@ -477,6 +480,7 @@ func (e *expression) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnostics) {
Summary: "Duplicate object attribute",
Detail: fmt.Sprintf("An attribute named %q was already defined at %s.", nameStr, attrRanges[nameStr]),
Subject: &jsonAttr.NameRange,
+ Expression: e,
EvalContext: ctx,
})
continue