]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.typeparams] cmd/compile/internal/types2: minor adjustments to match go/types...
authorRobert Griesemer <gri@golang.org>
Thu, 18 Feb 2021 17:12:19 +0000 (09:12 -0800)
committerRobert Griesemer <gri@golang.org>
Thu, 18 Feb 2021 20:47:37 +0000 (20:47 +0000)
Change-Id: Ib0144e0dd33e9202037e461a85f72f5db08ebd3a
Reviewed-on: https://go-review.googlesource.com/c/go/+/293631
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
src/cmd/compile/internal/types2/call.go
src/cmd/compile/internal/types2/typexpr.go

index 67a76d14fbffc607c590d58d9b7360de22c96210..72805c453bcbf8352004d8b00a033d4815d558e0 100644 (file)
@@ -17,15 +17,15 @@ import (
 // The operand x must be the evaluation of inst.X and its type must be a signature.
 func (check *Checker) funcInst(x *operand, inst *syntax.IndexExpr) {
        args, ok := check.exprOrTypeList(unpackExpr(inst.Index))
-       if ok && len(args) > 0 && args[0].mode != typexpr {
-               check.errorf(args[0], "%s is not a type", args[0])
-               ok = false
-       }
        if !ok {
                x.mode = invalid
                x.expr = inst
                return
        }
+       if len(args) > 0 && args[0].mode != typexpr {
+               check.errorf(args[0], "%s is not a type", args[0])
+               ok = false
+       }
 
        // check number of type arguments
        n := len(args)
@@ -77,7 +77,6 @@ func (check *Checker) funcInst(x *operand, inst *syntax.IndexExpr) {
                                assert(targ != nil)
                        }
                }
-               //check.dump("### inferred targs = %s", targs)
                n = len(targs)
                inferred = true
        }
index 87eabbe28d59af8e74b30047f83046c248ae5b9f..7190cb446ac46ec3566ddff5467d3fc455a232c0 100644 (file)
@@ -1204,8 +1204,6 @@ func embeddedFieldIdent(e syntax.Expr) *syntax.Name {
                return e.Sel
        case *syntax.IndexExpr:
                return embeddedFieldIdent(e.X)
-       case *syntax.ParenExpr:
-               return embeddedFieldIdent(e.X)
        }
        return nil // invalid embedded field
 }