diff options
author | Alan Donovan <adonovan@google.com> | 2016-11-03 17:52:54 -0400 |
---|---|---|
committer | Alan Donovan <adonovan@google.com> | 2016-11-03 21:54:53 +0000 |
commit | 50193ec1c508c7b5714160a9c0979366fbbcabb4 (patch) | |
tree | 570d6145fe62296df1c821f5422117fdb0e7a789 /go | |
parent | 9a286cdc334bcda1296aaa1c8cc85c2d5d64dac7 (diff) | |
download | golang-x-tools-50193ec1c508c7b5714160a9c0979366fbbcabb4.tar.gz |
go/ast/astutil: support Go 1.8 type aliases
Change-Id: I67d561755c1c06c0438f2b42e6a13efb024558c4
Reviewed-on: https://go-review.googlesource.com/32732
Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'go')
-rw-r--r-- | go/ast/astutil/enclosing18.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/go/ast/astutil/enclosing18.go b/go/ast/astutil/enclosing18.go index af897cb0b..4a91c1d3b 100644 --- a/go/ast/astutil/enclosing18.go +++ b/go/ast/astutil/enclosing18.go @@ -200,6 +200,11 @@ func childrenOf(n ast.Node) []ast.Node { // Then add fake Nodes for bare tokens. switch n := n.(type) { + case *ast.AliasSpec: + // TODO(adonovan): AliasSpec.{Doc,Comment}? + // Guess position of "=>" assuming well-formattedness. + children = append(children, tok(n.Orig.Pos()-token.Pos(len("=> ")), len("=>"))) + case *ast.ArrayType: children = append(children, tok(n.Lbrack, len("[")), @@ -623,7 +628,8 @@ func NodeDescription(n ast.Node) string { return fmt.Sprintf("unary %s operation", n.Op) case *ast.ValueSpec: return "value specification" - + case *ast.AliasSpec: + return "alias specification" } panic(fmt.Sprintf("unexpected node type: %T", n)) } |