mirror of
https://github.com/golang/go
synced 2024-11-23 06:00:08 -07:00
[dev.typeparams] cmd/compile/internal/types2: minor adjustments to match go/types more closely
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>
This commit is contained in:
parent
6f3878b942
commit
8960ce7735
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user