mirror of
https://github.com/golang/go
synced 2024-11-17 06:04:47 -07:00
cmd/compile/internal/types2: use ExprString instead of syntax.String
This further reduces the differences between go/types and types2. Change-Id: I1426c2f7c58e2d1123d93f68fbdda01b0cc2d46e Reviewed-on: https://go-review.googlesource.com/c/go/+/562836 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Robert Findley <rfindley@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com>
This commit is contained in:
parent
c1828fbcbf
commit
67361bf868
@ -152,7 +152,7 @@ func TestValuesInfo(t *testing.T) {
|
|||||||
// look for expression
|
// look for expression
|
||||||
var expr syntax.Expr
|
var expr syntax.Expr
|
||||||
for e := range info.Types {
|
for e := range info.Types {
|
||||||
if syntax.String(e) == test.expr {
|
if ExprString(e) == test.expr {
|
||||||
expr = e
|
expr = e
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -424,7 +424,7 @@ func TestTypesInfo(t *testing.T) {
|
|||||||
// look for expression type
|
// look for expression type
|
||||||
var typ Type
|
var typ Type
|
||||||
for e, tv := range info.Types {
|
for e, tv := range info.Types {
|
||||||
if syntax.String(e) == test.expr {
|
if ExprString(e) == test.expr {
|
||||||
typ = tv.Type
|
typ = tv.Type
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -1135,8 +1135,8 @@ func TestPredicatesInfo(t *testing.T) {
|
|||||||
// look for expression predicates
|
// look for expression predicates
|
||||||
got := "<missing>"
|
got := "<missing>"
|
||||||
for e, tv := range info.Types {
|
for e, tv := range info.Types {
|
||||||
//println(name, syntax.String(e))
|
//println(name, ExprString(e))
|
||||||
if syntax.String(e) == test.expr {
|
if ExprString(e) == test.expr {
|
||||||
got = predString(tv)
|
got = predString(tv)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,7 @@ func (check *Checker) lhsVar(lhs syntax.Expr) Type {
|
|||||||
var op operand
|
var op operand
|
||||||
check.expr(nil, &op, sel.X)
|
check.expr(nil, &op, sel.X)
|
||||||
if op.mode == mapindex {
|
if op.mode == mapindex {
|
||||||
check.errorf(&x, UnaddressableFieldAssign, "cannot assign to struct field %s in map", syntax.String(x.expr))
|
check.errorf(&x, UnaddressableFieldAssign, "cannot assign to struct field %s in map", ExprString(x.expr))
|
||||||
return Typ[Invalid]
|
return Typ[Invalid]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ func (check *Checker) assignVar(lhs, rhs syntax.Expr, x *operand, context string
|
|||||||
// avoid calling syntax.String if not needed
|
// avoid calling syntax.String if not needed
|
||||||
if T != nil {
|
if T != nil {
|
||||||
if _, ok := under(T).(*Signature); ok {
|
if _, ok := under(T).(*Signature); ok {
|
||||||
target = newTarget(T, syntax.String(lhs))
|
target = newTarget(T, ExprString(lhs))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
x = new(operand)
|
x = new(operand)
|
||||||
|
@ -207,7 +207,7 @@ func testBuiltinSignature(t *testing.T, name, src0, want string) {
|
|||||||
// the recorded type for the built-in must match the wanted signature
|
// the recorded type for the built-in must match the wanted signature
|
||||||
typ := types[fun].Type
|
typ := types[fun].Type
|
||||||
if typ == nil {
|
if typ == nil {
|
||||||
t.Errorf("%s: no type recorded for %s", src0, syntax.String(fun))
|
t.Errorf("%s: no type recorded for %s", src0, ExprString(fun))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if got := typ.String(); got != want {
|
if got := typ.String(); got != want {
|
||||||
|
@ -102,7 +102,7 @@ func sprintf(qf Qualifier, tpSubscripts bool, format string, args ...interface{}
|
|||||||
case syntax.Pos:
|
case syntax.Pos:
|
||||||
arg = a.String()
|
arg = a.String()
|
||||||
case syntax.Expr:
|
case syntax.Expr:
|
||||||
arg = syntax.String(a)
|
arg = ExprString(a)
|
||||||
case []syntax.Expr:
|
case []syntax.Expr:
|
||||||
var buf strings.Builder
|
var buf strings.Builder
|
||||||
buf.WriteByte('[')
|
buf.WriteByte('[')
|
||||||
@ -110,7 +110,7 @@ func sprintf(qf Qualifier, tpSubscripts bool, format string, args ...interface{}
|
|||||||
if i > 0 {
|
if i > 0 {
|
||||||
buf.WriteString(", ")
|
buf.WriteString(", ")
|
||||||
}
|
}
|
||||||
buf.WriteString(syntax.String(x))
|
buf.WriteString(ExprString(x))
|
||||||
}
|
}
|
||||||
buf.WriteByte(']')
|
buf.WriteByte(']')
|
||||||
arg = buf.String()
|
arg = buf.String()
|
||||||
|
@ -698,14 +698,14 @@ func TestIssue51093(t *testing.T) {
|
|||||||
n++
|
n++
|
||||||
tpar, _ := tv.Type.(*TypeParam)
|
tpar, _ := tv.Type.(*TypeParam)
|
||||||
if tpar == nil {
|
if tpar == nil {
|
||||||
t.Fatalf("%s: got type %s, want type parameter", syntax.String(x), tv.Type)
|
t.Fatalf("%s: got type %s, want type parameter", ExprString(x), tv.Type)
|
||||||
}
|
}
|
||||||
if name := tpar.Obj().Name(); name != "P" {
|
if name := tpar.Obj().Name(); name != "P" {
|
||||||
t.Fatalf("%s: got type parameter name %s, want P", syntax.String(x), name)
|
t.Fatalf("%s: got type parameter name %s, want P", ExprString(x), name)
|
||||||
}
|
}
|
||||||
// P(val) must not be constant
|
// P(val) must not be constant
|
||||||
if tv.Value != nil {
|
if tv.Value != nil {
|
||||||
t.Errorf("%s: got constant value %s (%s), want no constant", syntax.String(x), tv.Value, tv.Value.String())
|
t.Errorf("%s: got constant value %s (%s), want no constant", ExprString(x), tv.Value, tv.Value.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ func operandString(x *operand, qf Qualifier) string {
|
|||||||
|
|
||||||
var expr string
|
var expr string
|
||||||
if x.expr != nil {
|
if x.expr != nil {
|
||||||
expr = syntax.String(x.expr)
|
expr = ExprString(x.expr)
|
||||||
} else {
|
} else {
|
||||||
switch x.mode {
|
switch x.mode {
|
||||||
case builtin:
|
case builtin:
|
||||||
|
@ -23,3 +23,6 @@ func cmpPos(p, q syntax.Pos) int { return p.Cmp(q) }
|
|||||||
|
|
||||||
// hasDots reports whether the last argument in the call is followed by ...
|
// hasDots reports whether the last argument in the call is followed by ...
|
||||||
func hasDots(call *syntax.CallExpr) bool { return call.HasDots }
|
func hasDots(call *syntax.CallExpr) bool { return call.HasDots }
|
||||||
|
|
||||||
|
// ExprString returns a string representation of x.
|
||||||
|
func ExprString(x syntax.Node) string { return syntax.String(x) }
|
||||||
|
Loading…
Reference in New Issue
Block a user