mirror of https://github.com/golang/go.git
We've added Unparen to go/ast, so add syntax.Unparen to be consistent (and because it's similarly useful). Also, types2 and noder both have similar functions for unpacking ListExprs, so might as well add a common implementation in package syntax too. Finally, addressing the TODO: UnpackListExpr is small enough to be inlined (when default optimizations are enabled), and for typical uses of UnpackListExpr (e.g., "range UnpackListExpr(x)") the single-element slice result is stack allocated in the caller. This CL adds a test using testing.AllocsPerRun to ensure this remains so in the future. Change-Id: I96a5591d202193ed5bf1ce6f290919107e3dc01b Reviewed-on: https://go-review.googlesource.com/c/go/+/522336 Auto-Submit: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> |
||
|---|---|---|
| .. | ||
| codes.go | ||
| decl.go | ||
| export.go | ||
| expr.go | ||
| helpers.go | ||
| import.go | ||
| irgen.go | ||
| lex.go | ||
| lex_test.go | ||
| linker.go | ||
| noder.go | ||
| posmap.go | ||
| quirks.go | ||
| reader.go | ||
| stencil.go | ||
| stmt.go | ||
| types.go | ||
| unified.go | ||
| writer.go | ||