]> Cypherpunks repositories - gostls13.git/commitdiff
go/types, types2: simplify Checker.exprList
authorRobert Griesemer <gri@golang.org>
Thu, 23 Mar 2023 03:01:17 +0000 (20:01 -0700)
committerGopher Robot <gobot@golang.org>
Tue, 28 Mar 2023 18:13:17 +0000 (18:13 +0000)
Change-Id: I7e9e5bef9364afc959c66d9765180c4ed967f517
Reviewed-on: https://go-review.googlesource.com/c/go/+/478755
Run-TryBot: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
src/cmd/compile/internal/types2/assignments.go
src/cmd/compile/internal/types2/builtins.go
src/cmd/compile/internal/types2/call.go
src/go/types/assignments.go
src/go/types/builtins.go
src/go/types/call.go

index 74987ece01ca2ccd6e484abf337767094394e2cd..adef1e8d99efc5eeebfa72caf66d9413f824ff55 100644 (file)
@@ -361,7 +361,7 @@ func (check *Checker) initVars(lhs []*Var, orig_rhs []syntax.Expr, returnStmt sy
        // resulting in 2 or more values; otherwise we have an assignment mismatch.
        if r != 1 {
                if returnStmt != nil {
-                       rhs, _ := check.exprList(orig_rhs, false)
+                       rhs := check.exprList(orig_rhs)
                        check.returnError(returnStmt, lhs, rhs)
                } else {
                        check.assignError(orig_rhs, l, r)
index 94fddca19a76ce8cd6746af52a39bc3a961fcdcd..e35dab81402daa57909d7a83b8bf2ccc3cd85826 100644 (file)
@@ -45,7 +45,7 @@ func (check *Checker) builtin(x *operand, call *syntax.CallExpr, id builtinId) (
        switch id {
        default:
                // make argument getter
-               xlist, _ := check.exprList(call.ArgList, false)
+               xlist := check.exprList(call.ArgList)
                arg = func(x *operand, i int) { *x = *xlist[i] }
                nargs = len(xlist)
                // evaluate first argument, if present
index 517befe5dddae460777e7b93f9b2ce6d5cc19f0d..1400aba88368bb5b61da3b8a1dc645a7832ca2ba 100644 (file)
@@ -226,7 +226,7 @@ func (check *Checker) callExpr(x *operand, call *syntax.CallExpr) exprKind {
        }
 
        // evaluate arguments
-       args, _ := check.exprList(call.ArgList, false)
+       args := check.exprList(call.ArgList)
        sig = check.arguments(call, sig, targs, args, xlist)
 
        if wasGeneric && sig.TypeParams().Len() == 0 {
@@ -261,12 +261,12 @@ func (check *Checker) callExpr(x *operand, call *syntax.CallExpr) exprKind {
        return statement
 }
 
-func (check *Checker) exprList(elist []syntax.Expr, allowCommaOk bool) (xlist []*operand, commaOk bool) {
+func (check *Checker) exprList(elist []syntax.Expr) (xlist []*operand) {
        switch len(elist) {
        case 0:
                // nothing to do
        case 1:
-               return check.multiExpr(elist[0], allowCommaOk)
+               xlist, _ = check.multiExpr(elist[0], false)
        default:
                // multiple (possibly invalid) values
                xlist = make([]*operand, len(elist))
index fdf5a4b24c5e21f24c22953ab0706591e6f0051e..26de0a093abb7b37b6fd691dc942e50c950488c4 100644 (file)
@@ -359,7 +359,7 @@ func (check *Checker) initVars(lhs []*Var, orig_rhs []ast.Expr, returnStmt ast.S
        // resulting in 2 or more values; otherwise we have an assignment mismatch.
        if r != 1 {
                if returnStmt != nil {
-                       rhs, _ := check.exprList(orig_rhs, false)
+                       rhs := check.exprList(orig_rhs)
                        check.returnError(returnStmt, lhs, rhs)
                } else {
                        check.assignError(orig_rhs, l, r)
index 783e00090b2771ba9811cdea2553c929bfc8bfa4..9659a7ccb111662f523ad2bc87e4cc0c0d50c337 100644 (file)
@@ -46,7 +46,7 @@ func (check *Checker) builtin(x *operand, call *ast.CallExpr, id builtinId) (_ b
        switch id {
        default:
                // make argument getter
-               xlist, _ := check.exprList(call.Args, false)
+               xlist := check.exprList(call.Args)
                arg = func(x *operand, i int) { *x = *xlist[i] }
                nargs = len(xlist)
                // evaluate first argument, if present
index 47734e872b25bb2ce4df530825769cc55a9f01c3..f8aa261816c71b20edfd51007ac87724b996b7e5 100644 (file)
@@ -228,7 +228,7 @@ func (check *Checker) callExpr(x *operand, call *ast.CallExpr) exprKind {
        }
 
        // evaluate arguments
-       args, _ := check.exprList(call.Args, false)
+       args := check.exprList(call.Args)
        sig = check.arguments(call, sig, targs, args, xlist)
 
        if wasGeneric && sig.TypeParams().Len() == 0 {
@@ -263,12 +263,12 @@ func (check *Checker) callExpr(x *operand, call *ast.CallExpr) exprKind {
        return statement
 }
 
-func (check *Checker) exprList(elist []ast.Expr, allowCommaOk bool) (xlist []*operand, commaOk bool) {
+func (check *Checker) exprList(elist []ast.Expr) (xlist []*operand) {
        switch len(elist) {
        case 0:
                // nothing to do
        case 1:
-               return check.multiExpr(elist[0], allowCommaOk)
+               xlist, _ = check.multiExpr(elist[0], false)
        default:
                // multiple (possibly invalid) values
                xlist = make([]*operand, len(elist))