]> Cypherpunks repositories - gostls13.git/commitdiff
go/parser: match go/defer error message of syntax package
authorRobert Griesemer <gri@golang.org>
Sat, 20 Aug 2022 02:01:05 +0000 (19:01 -0700)
committerGopher Robot <gobot@golang.org>
Thu, 25 Aug 2022 19:10:01 +0000 (19:10 +0000)
Adjust corresponding type checker tests accordingly.

For #54511.

Change-Id: Ieaf29f26c0877973fc0acbde35292cd69a4b709c
Reviewed-on: https://go-review.googlesource.com/c/go/+/425007
Auto-Submit: Robert Griesemer <gri@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
Run-TryBot: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>

src/go/parser/parser.go
src/go/parser/short_test.go
src/go/types/testdata/check/stmt0.go

index 2883ea1d3e08604ecfd74b87c76312acac4f0383..3ac350d8f8cd9a6842774d7b1846430c3baf3173 100644 (file)
@@ -1997,7 +1997,7 @@ func (p *parser) parseCallExpr(callType string) *ast.CallExpr {
        }
        if _, isBad := x.(*ast.BadExpr); !isBad {
                // only report error if it's a new one
-               p.error(p.safePos(x.End()), fmt.Sprintf("function must be invoked in %s statement", callType))
+               p.error(p.safePos(x.End()), fmt.Sprintf("expression in %s must be function call", callType))
        }
        return nil
 }
index 88d93d67d69f50fb3aa6a93e5fe5aa20d3752f31..86779e7e7e93ef1d35f7ea02fc18de72ad4e16c7 100644 (file)
@@ -170,8 +170,8 @@ var invalids = []string{
        `package p; func f() { for x /* ERROR "boolean or range expression" */ := []string {} }`,
        `package p; func f() { for i /* ERROR "boolean or range expression" */ , x = []string {} }`,
        `package p; func f() { for i /* ERROR "boolean or range expression" */ , x := []string {} }`,
-       `package p; func f() { go f /* ERROR HERE "function must be invoked" */ }`,
-       `package p; func f() { defer func() {} /* ERROR HERE "function must be invoked" */ }`,
+       `package p; func f() { go f /* ERROR HERE "must be function call" */ }`,
+       `package p; func f() { defer func() {} /* ERROR HERE "must be function call" */ }`,
        `package p; func f() { go func() { func() { f(x func /* ERROR "missing ','" */ (){}) } } }`,
        `package p; func _() (type /* ERROR "found 'type'" */ T)(T)`,
        `package p; func (type /* ERROR "found 'type'" */ T)(T) _()`,
index 0f164d36c8bfa46e29c2df28d2425fe340154dcf..b466ec8c601b9748733c26c22feeff287a212008 100644 (file)
@@ -229,7 +229,7 @@ func selects() {
 }
 
 func gos() {
-       go 1 /* ERROR HERE "function must be invoked" */
+       go 1 /* ERROR HERE "must be function call" */
        go int /* ERROR "go requires function call, not conversion" */ (0)
        go gos()
        var c chan int
@@ -238,7 +238,7 @@ func gos() {
 }
 
 func defers() {
-       defer 1 /* ERROR HERE "function must be invoked" */
+       defer 1 /* ERROR HERE "must be function call" */
        defer int /* ERROR "defer requires function call, not conversion" */ (0)
        defer defers()
        var c chan int