Merge pull request #7317 from hashicorp/update-hcl
deps: Update github.com/hashicorp/hcl/...
This commit is contained in:
commit
33053f8170
|
@ -517,6 +517,12 @@ func (d *decoder) decodeStruct(name string, node ast.Node, result reflect.Value)
|
||||||
structType := structVal.Type()
|
structType := structVal.Type()
|
||||||
for i := 0; i < structType.NumField(); i++ {
|
for i := 0; i < structType.NumField(); i++ {
|
||||||
fieldType := structType.Field(i)
|
fieldType := structType.Field(i)
|
||||||
|
tagParts := strings.Split(fieldType.Tag.Get(tagName), ",")
|
||||||
|
|
||||||
|
// Ignore fields with tag name "-"
|
||||||
|
if tagParts[0] == "-" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if fieldType.Anonymous {
|
if fieldType.Anonymous {
|
||||||
fieldKind := fieldType.Type.Kind()
|
fieldKind := fieldType.Type.Kind()
|
||||||
|
@ -531,7 +537,6 @@ func (d *decoder) decodeStruct(name string, node ast.Node, result reflect.Value)
|
||||||
// We have an embedded field. We "squash" the fields down
|
// We have an embedded field. We "squash" the fields down
|
||||||
// if specified in the tag.
|
// if specified in the tag.
|
||||||
squash := false
|
squash := false
|
||||||
tagParts := strings.Split(fieldType.Tag.Get(tagName), ",")
|
|
||||||
for _, tag := range tagParts[1:] {
|
for _, tag := range tagParts[1:] {
|
||||||
if tag == "squash" {
|
if tag == "squash" {
|
||||||
squash = true
|
squash = true
|
||||||
|
|
|
@ -133,6 +133,12 @@ type ObjectItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *ObjectItem) Pos() token.Pos {
|
func (o *ObjectItem) Pos() token.Pos {
|
||||||
|
// I'm not entirely sure what causes this, but removing this causes
|
||||||
|
// a test failure. We should investigate at some point.
|
||||||
|
if len(o.Keys) == 0 {
|
||||||
|
return token.Pos{}
|
||||||
|
}
|
||||||
|
|
||||||
return o.Keys[0].Pos()
|
return o.Keys[0].Pos()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ var (
|
||||||
type Options struct {
|
type Options struct {
|
||||||
List bool // list files whose formatting differs
|
List bool // list files whose formatting differs
|
||||||
Write bool // write result to (source) file instead of stdout
|
Write bool // write result to (source) file instead of stdout
|
||||||
Diff bool // display diffs instead of rewriting files
|
Diff bool // display diffs of formatting changes
|
||||||
}
|
}
|
||||||
|
|
||||||
func isValidFile(f os.FileInfo, extensions []string) bool {
|
func isValidFile(f os.FileInfo, extensions []string) bool {
|
||||||
|
|
|
@ -220,8 +220,19 @@ func (p *Parser) objectKey() ([]*ast.ObjectKey, error) {
|
||||||
|
|
||||||
return keys, nil
|
return keys, nil
|
||||||
case token.LBRACE:
|
case token.LBRACE:
|
||||||
|
var err error
|
||||||
|
|
||||||
|
// If we have no keys, then it is a syntax error. i.e. {{}} is not
|
||||||
|
// allowed.
|
||||||
|
if len(keys) == 0 {
|
||||||
|
err = &PosError{
|
||||||
|
Pos: p.tok.Pos,
|
||||||
|
Err: fmt.Errorf("expected: IDENT | STRING got: %s", p.tok.Type),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// object
|
// object
|
||||||
return keys, nil
|
return keys, err
|
||||||
case token.IDENT, token.STRING:
|
case token.IDENT, token.STRING:
|
||||||
keyCount++
|
keyCount++
|
||||||
keys = append(keys, &ast.ObjectKey{Token: p.tok})
|
keys = append(keys, &ast.ObjectKey{Token: p.tok})
|
||||||
|
@ -320,7 +331,7 @@ func (p *Parser) listType() (*ast.ListType, error) {
|
||||||
// get next list item or we are at the end
|
// get next list item or we are at the end
|
||||||
// do a look-ahead for line comment
|
// do a look-ahead for line comment
|
||||||
p.scan()
|
p.scan()
|
||||||
if p.lineComment != nil {
|
if p.lineComment != nil && len(l.List) > 0 {
|
||||||
lit, ok := l.List[len(l.List)-1].(*ast.LiteralType)
|
lit, ok := l.List[len(l.List)-1].(*ast.LiteralType)
|
||||||
if ok {
|
if ok {
|
||||||
lit.LineComment = p.lineComment
|
lit.LineComment = p.lineComment
|
||||||
|
|
|
@ -128,6 +128,12 @@ func (p *Parser) objectKey() ([]*ast.ObjectKey, error) {
|
||||||
Token: p.tok.HCLToken(),
|
Token: p.tok.HCLToken(),
|
||||||
})
|
})
|
||||||
case token.COLON:
|
case token.COLON:
|
||||||
|
// If we have a zero keycount it means that we never got
|
||||||
|
// an object key, i.e. `{ :`. This is a syntax error.
|
||||||
|
if keyCount == 0 {
|
||||||
|
return nil, fmt.Errorf("expected: STRING got: %s", p.tok.Type)
|
||||||
|
}
|
||||||
|
|
||||||
// Done
|
// Done
|
||||||
return keys, nil
|
return keys, nil
|
||||||
case token.ILLEGAL:
|
case token.ILLEGAL:
|
||||||
|
|
|
@ -770,70 +770,70 @@
|
||||||
"revision": "7e3c02b30806fa5779d3bdfc152ce4c6f40e7b38"
|
"revision": "7e3c02b30806fa5779d3bdfc152ce4c6f40e7b38"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "5LrCq/ydlbL6pq1cdmuxiw7QV98=",
|
"checksumSHA1": "SJIgBfV02h1fsqCAe5DHj/JbHoM=",
|
||||||
"path": "github.com/hashicorp/hcl",
|
"path": "github.com/hashicorp/hcl",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "WP5ODRo9+USuAsKYPu5RW3q8Epg=",
|
"checksumSHA1": "IxyvRpCFeoJBGl2obLKJV7RCGjg=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/ast",
|
"path": "github.com/hashicorp/hcl/hcl/ast",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "z03dif8bqgQ3Zk/1RGbvfgBXMXo=",
|
"checksumSHA1": "5HVecyfmcTm6OTffEi6LGayQf5M=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/fmtcmd",
|
"path": "github.com/hashicorp/hcl/hcl/fmtcmd",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "SVw0qm83Anf5T2GkYabn+f7Ibv0=",
|
"checksumSHA1": "cO89nXP9rKQCcm0zKGbtBCWK2ok=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/parser",
|
"path": "github.com/hashicorp/hcl/hcl/parser",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "CSmwxPOTz7GSpnWPF9aGkbVeR64=",
|
"checksumSHA1": "CSmwxPOTz7GSpnWPF9aGkbVeR64=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/printer",
|
"path": "github.com/hashicorp/hcl/hcl/printer",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "WZM0q7Sya8PcGj607x1npgcEPa4=",
|
"checksumSHA1": "WZM0q7Sya8PcGj607x1npgcEPa4=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/scanner",
|
"path": "github.com/hashicorp/hcl/hcl/scanner",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "riN5acfVDm4j6LhWXauqiWH5n84=",
|
"checksumSHA1": "riN5acfVDm4j6LhWXauqiWH5n84=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/strconv",
|
"path": "github.com/hashicorp/hcl/hcl/strconv",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "c6yprzj06ASwCo18TtbbNNBHljA=",
|
"checksumSHA1": "c6yprzj06ASwCo18TtbbNNBHljA=",
|
||||||
"path": "github.com/hashicorp/hcl/hcl/token",
|
"path": "github.com/hashicorp/hcl/hcl/token",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "uEaK2zagnGctsUmjWt8ZYmK1Yvs=",
|
"checksumSHA1": "jQ45CCc1ed/nlV7bbSnx6z72q1M=",
|
||||||
"path": "github.com/hashicorp/hcl/json/parser",
|
"path": "github.com/hashicorp/hcl/json/parser",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "S1e0F9ZKSnqgOLfjDTYazRL28tA=",
|
"checksumSHA1": "S1e0F9ZKSnqgOLfjDTYazRL28tA=",
|
||||||
"path": "github.com/hashicorp/hcl/json/scanner",
|
"path": "github.com/hashicorp/hcl/json/scanner",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "fNlXQCQEnb+B3k5UDL/r15xtSJY=",
|
"checksumSHA1": "fNlXQCQEnb+B3k5UDL/r15xtSJY=",
|
||||||
"path": "github.com/hashicorp/hcl/json/token",
|
"path": "github.com/hashicorp/hcl/json/token",
|
||||||
"revision": "da486364306ed66c218be9b7953e19173447c18b",
|
"revision": "61f5143284c041681f76a5b63efcb232aaa94737",
|
||||||
"revisionTime": "2016-06-20T17:04:52Z"
|
"revisionTime": "2016-06-24T12:12:30Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "vWW3HXm7OTOMISuZPcCSJODRYkU=",
|
"checksumSHA1": "vWW3HXm7OTOMISuZPcCSJODRYkU=",
|
||||||
|
|
Loading…
Reference in New Issue