diff options
author | Matthew Dempsky <mdempsky@google.com> | 2021-06-23 14:45:34 -0700 |
---|---|---|
committer | Matthew Dempsky <mdempsky@google.com> | 2021-06-25 04:58:18 +0000 |
commit | badb98364b3710933de89bfe579fb8d1f82741c8 (patch) | |
tree | aa094f132d954372ddce054c632a18de16b8f454 /src/cmd/compile/internal/reflectdata/reflect.go | |
parent | 2493c727425547db935a1c6e519bc19d01476380 (diff) | |
download | go-badb98364b3710933de89bfe579fb8d1f82741c8.tar.gz go-badb98364b3710933de89bfe579fb8d1f82741c8.zip |
[dev.typeparams] cmd/compile: switch CaptureVars to use syntax.Walk
This CL refactors CaptureVars to use a visitor type so it's easier to
break out helper functions to review.
It also simplifies the quirks-mode handling of function literals:
instead of trying to maintain information about whether we're inside a
function literal or not, it now just rewrites the recorded position
information for any newly added free variables after walking the
function literal.
(Quirks mode is only for "toolstash -cmp"-style binary output testing
of normal code and will eventually be removed, so I don't think it's
important that this is an O(N^2) algorithm for deeply nested function
literals with lots of free variables.)
Change-Id: I0689984f6d88cf9937d4706d2d8de96415eaeee3
Reviewed-on: https://go-review.googlesource.com/c/go/+/330789
Trust: Matthew Dempsky <mdempsky@google.com>
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/reflectdata/reflect.go')
0 files changed, 0 insertions, 0 deletions