]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: add nodeSeqIterator interface
authorIan Lance Taylor <iant@golang.org>
Thu, 3 Mar 2016 19:30:17 +0000 (11:30 -0800)
committerIan Lance Taylor <iant@golang.org>
Thu, 3 Mar 2016 20:14:06 +0000 (20:14 +0000)
commit466c948b558cb2eca089577fda2995133531d4ef
tree229f9c0f34897572d12890ff8fb4bb9e7564f9a3
parent0c84c4f19cedd13445c64fcdc409b4821ff9a7d2
cmd/compile: add nodeSeqIterator interface

I tried to write a program to convert *NodeList to Node, but ran into
too many problem cases.  I'm backing off and trying a more iterative
approach using interfaces.

This CL adds an interface for iteration over either a *NodeList or a
Nodes.  I changed typechecklist to use it, to show how it works.  After
NodeList is eliminated, we can change the typechecklist parameter type
to Nodes.

Passes toolstash -cmp.

Change-Id: I5c7593714b020d20868b99151b1e7cadbbdbc397
Reviewed-on: https://go-review.googlesource.com/20190
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/alg.go
src/cmd/compile/internal/gc/closure.go
src/cmd/compile/internal/gc/inl.go
src/cmd/compile/internal/gc/lex.go
src/cmd/compile/internal/gc/range.go
src/cmd/compile/internal/gc/select.go
src/cmd/compile/internal/gc/subr.go
src/cmd/compile/internal/gc/swt.go
src/cmd/compile/internal/gc/syntax.go
src/cmd/compile/internal/gc/typecheck.go
src/cmd/compile/internal/gc/walk.go