go/src
Alberto Donizetti 07f7db3ea9 cmd/compile: fix OTYPESW Op comment
OTYPESW Op comment says

  // List = Left.(type)

this seems to be wrong. Adding

  fmt.Printf("n: %v\n", cond)
  fmt.Printf("  n.List: %v\n", cond.List)
  fmt.Printf("  n.Left: %v\n", cond.Left)
  fmt.Printf("  n.Right: %v\n", cond.Right)

to (s *typeSwitch) walk(sw *Node), and compiling the following code
snippet

  var y interface{}
  switch x := y.(type) {
  default:
    println(x)
  }

prints

  n: <node TYPESW>
    n.List:
    n.Left: x
    n.Right: y

The correct OTYPESW Node field positions are

  // Left = Right.(type)

This is confirmed by the fact that, further in the code,
typeSwitch.walk() checks that Right (and not Left) is of type
interface:

  cond.Right = walkexpr(cond.Right, &sw.Ninit)
  if !cond.Right.Type.IsInterface() {
    yyerror("type switch must be on an interface")
    return
  }

This patch fixes the OTYPESW comment.

Change-Id: Ief1e409cfabb7640d7f7b0d4faabbcffaf605450
Reviewed-on: https://go-review.googlesource.com/69112
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2017-10-11 07:55:04 +00:00
..
archive archive/tar: ignore ChangeTime and AccessTime unless Format is specified 2017-10-10 20:13:27 +00:00
bufio
builtin
bytes bytes: panic in ReadFrom with more information with negative Read counts 2017-10-06 06:49:40 +00:00
cmd cmd/compile: fix OTYPESW Op comment 2017-10-11 07:55:04 +00:00
compress compress/bzip2: fix checksum mismatch on empty reads 2017-09-25 23:05:58 +00:00
container container/heap: call t.Helper() in verify() 2017-09-13 17:22:00 +00:00
context context: fix references to "d" in WithDeadline docs 2017-09-21 03:00:51 +00:00
crypto crypto/x509: reject intermediates with unknown critical extensions. 2017-10-10 15:49:01 +00:00
database/sql database/sql: fix unreachable code in ColumnTypes test 2017-10-04 16:30:44 +00:00
debug all: revert "all: prefer strings.LastIndexByte over strings.LastIndex" 2017-10-05 23:19:42 +00:00
encoding encoding/asn1: don't encode strings with '*' as PrintableString. 2017-10-09 19:28:47 +00:00
errors
expvar expvar: make (*Map).Init clear existing keys 2017-09-11 21:31:51 +00:00
flag flag: align multi-line usage strings 2017-09-28 20:45:32 +00:00
fmt fmt: Implement pp.WriteString method 2017-09-20 06:48:34 +00:00
go go/doc: fix constant type propagation 2017-10-09 18:01:14 +00:00
hash
html all: revert "all: prefer strings.IndexByte over strings.Index" 2017-10-05 23:19:10 +00:00
image image/gif: add BenchmarkDecode. 2017-10-07 05:23:42 +00:00
index/suffixarray
internal all: revert "all: prefer strings.LastIndexByte over strings.LastIndex" 2017-10-05 23:19:42 +00:00
io io: Add benchmarks for CopyN 2017-09-20 15:00:31 +00:00
log log: fix data race on log.Output 2017-09-19 20:35:24 +00:00
math math/big: provide support for conversion bases up to 62 2017-10-06 17:46:15 +00:00
mime all: revert "all: prefer strings.IndexByte over strings.Index" 2017-10-05 23:19:10 +00:00
net net/smtp: NewClient: set tls field to true when already using a TLS connection 2017-10-06 03:29:46 +00:00
os all: revert "all: prefer strings.LastIndexByte over strings.LastIndex" 2017-10-05 23:19:42 +00:00
path all: revert "all: prefer strings.LastIndexByte over strings.LastIndex" 2017-10-05 23:19:42 +00:00
plugin runtime, plugin: error not throw on duplicate open 2017-09-09 16:26:33 +00:00
reflect reflect: fix method indexing for non-ASCII exported methods 2017-09-28 18:06:53 +00:00
regexp all: revert "all: prefer strings.IndexByte over strings.Index" 2017-10-05 23:19:10 +00:00
runtime cmd/compile: intrinsify runtime.getcallersp 2017-10-10 15:15:21 +00:00
sort sort: update main example to use Slice along with Sort 2017-09-24 14:40:37 +00:00
strconv all: fix article typos 2017-09-15 02:39:16 +00:00
strings strings: improve readability of IndexAny and LastIndexAny functions. 2017-09-25 18:23:11 +00:00
sync sync/atomic: add memory barriers to Load/StoreInt32 on darwin/arm 2017-10-02 09:57:23 +00:00
syscall syscall: correct TCGETS/TCSETS values on ppc64/ppc64le 2017-09-27 14:53:47 +00:00
testing testing: add PAUSE, CONT output lines to explain Parallel execution 2017-10-10 17:44:22 +00:00
text all: use sort.Slice in a few more places 2017-09-22 12:39:14 +00:00
time all: revert "all: prefer strings.LastIndexByte over strings.LastIndex" 2017-10-05 23:19:42 +00:00
unicode all: revert "all: prefer strings.IndexByte over strings.Index" 2017-10-05 23:19:10 +00:00
unsafe all: remove some double spaces from comments 2017-08-26 15:09:09 +00:00
vendor/golang_org/x
Make.dist
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
buildall.bash
clean.bash
clean.bat
clean.rc
cmp.bash
iostest.bash misc/ios,src/iostest.bash: support GOIOS_DEVICE_ID 2017-08-28 16:37:25 +00:00
make.bash build: add `go env GOROOT` as default GOROOT_BOOTSTRAP value 2017-08-25 05:36:27 +00:00
make.bat
make.rc build: add `go env GOROOT` as default GOROOT_BOOTSTRAP value 2017-08-25 05:36:27 +00:00
naclmake.bash
nacltest.bash
race.bash
race.bat
run.bash
run.bat
run.rc