From 4f3db92c0227f5d88ff500dc6ad71041938cf664 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Mon, 30 Jan 2023 13:05:32 +0000 Subject: [PATCH] decoder: Implement reference targets for Set --- decoder/expr_set_ref_targets.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 decoder/expr_set_ref_targets.go diff --git a/decoder/expr_set_ref_targets.go b/decoder/expr_set_ref_targets.go new file mode 100644 index 00000000..82187fdd --- /dev/null +++ b/decoder/expr_set_ref_targets.go @@ -0,0 +1,26 @@ +package decoder + +import ( + "context" + + "github.com/hashicorp/hcl-lang/lang" + "github.com/hashicorp/hcl-lang/reference" + "github.com/hashicorp/hcl/v2/hclsyntax" +) + +func (set Set) ReferenceTargets(ctx context.Context, addr lang.Address, addrCtx AddressContext) reference.Targets { + eType, ok := set.expr.(*hclsyntax.TupleConsExpr) + if !ok { + return reference.Targets{} + } + + if len(eType.Exprs) == 0 || set.cons.Elem == nil { + return reference.Targets{} + } + + targets := make(reference.Targets, 0) + + // TODO: collect parent target for the whole set + + return targets +}