cmd/compile: add two error position tests for the typechecker

Follow CL 41477 and add two more line position tests for yyerror calls
in the typechecker which are currently not tested.

Update #19683

Change-Id: Iacd865195a3bfba87d8c22655382af267aba47a9
Reviewed-on: https://go-review.googlesource.com/70251
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Tobias Klauser 2017-10-12 13:49:49 +02:00 committed by Matthew Dempsky
parent 53bbddd527
commit fd9fac2c7c
2 changed files with 26 additions and 0 deletions

View file

@ -35,3 +35,7 @@ var pv = &v
var _ = pv.val() // ERROR "pv.val undefined"
var _ = pv.val // ERROR "pv.val undefined"
func (t *T) g() int { return t.a }
var _ = (T).g() // ERROR "needs pointer receiver|undefined"

22
test/method6.go Normal file
View file

@ -0,0 +1,22 @@
// errorcheck
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Verify that pointer method calls are caught during typechecking.
// Reproducer extracted and adapted from method.go
package foo
type A struct {
B
}
type B int
func (*B) g() {}
var _ = func() {
var a A
A(a).g() // ERROR "cannot call pointer method on|cannot take the address of"
}