]> Cypherpunks repositories - gostls13.git/commit
cmd/compile/internal/types2: use a typeWriter to write types (cleanup)
authorRobert Griesemer <gri@golang.org>
Sat, 28 Aug 2021 20:00:41 +0000 (13:00 -0700)
committerRobert Griesemer <gri@golang.org>
Mon, 30 Aug 2021 20:22:38 +0000 (20:22 +0000)
commit5f0d821adda38b728592b9ee919c94013eb2ab5f
treeb9462f9747b06e6bac40011c82bf0fb2635724f8
parent61120c634cde434b78d9fcfe53a53aade58ef6be
cmd/compile/internal/types2: use a typeWriter to write types (cleanup)

Rather then passing through a buffer, qualified, and visited
list to each helper function, maintain state in a typeWriter
object and use methods on it. This cleans up this code quite
a bit.

Use a map ("seen") for cycle detection rather than a list.

Move printing of [ and ] for type lists into the typeList
method so that callers don't have to do it themselves.

Change-Id: I1346373e979cb90710fbc073953aa51e2f6581f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/345890
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
src/cmd/compile/internal/types2/object.go
src/cmd/compile/internal/types2/subst.go
src/cmd/compile/internal/types2/typelists.go
src/cmd/compile/internal/types2/typestring.go
src/cmd/compile/internal/types2/unify.go