Commit Graph

5 Commits

Author SHA1 Message Date
Mitchell Hashimoto
c03d57b578
json/parser: empty list value should not flatten
Fixes https://github.com/hashicorp/terraform/issues/8886

While parsing JSON, an empty list value would be assumed to be a
non-existent list of objects, and would be removed from the result. This
may have never been the correct behavior but always worked okay because
we previously didn't support lists as first class types.

With the support of lists, we need to actually return the empty list as
the type. If we return nothing, then projects like Terraform will think
that the value was never set, which is false.
2016-10-25 10:44:39 -07:00
Sander van Harmelen
cf83c24abf Fix flattening of empty objects 2015-11-20 17:56:37 +01:00
Sander van Harmelen
2f117c801c This fixes a bug in the flattener so that objects are flattened as one list object 2015-11-19 17:42:55 +01:00
Fatih Arslan
d45f5d133c ast: change signature of Walk() to allow rewriting AST
With the previous Walk function it's not easy to rewrite the node as we
don't have any kind of reference to the parent. If we want to rewrite a
given AST, we have to manually traverse it as Walk is not usable. To
allow us rewriting the AST we change the signature of the function
passed to Walk. It'll allow us to rewrite the AST and return back.
Internally Walk() overrides the returned AST.

This idea was also talked here:
https://groups.google.com/forum/#!topic/golang-nuts/cRZQV36IckM
extensively.
2015-11-14 21:58:31 +02:00
Mitchell Hashimoto
cf0da81e50 Remove json files, add flatten.go to json/parse 2015-11-08 15:52:57 -08:00