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>
This commit is contained in:
parent
9a286cdc33
commit
50193ec1c5
|
@ -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))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue