mirror of
https://github.com/golang/go
synced 2024-11-11 23:20:24 -07:00
[dev.typeparams] cmd/compile: cleanup ABI utils tests
This CL cleans a few minor nits with the ABI utils tests that are now necessary because of cleanups that happened on master: 1. Initialize types.LocalPkg; this needs to be set for selector names to be handled correctly. 2. In TestABIUtilsInterfaces, switch to using an exported identifier, so it doesn't need to be package qualified. 3. While here, change the method result type from "untyped string" to just "string". Constants are the only declared object that can ever have an untyped type. Change-Id: Iabed46594361a516317a1c2d20c3d59bdb519844 Reviewed-on: https://go-review.googlesource.com/c/go/+/333189 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
parent
d4f6d161e4
commit
42fe132787
@ -33,6 +33,8 @@ func TestMain(m *testing.M) {
|
||||
base.Ctxt.DiagFunc = base.Errorf
|
||||
base.Ctxt.DiagFlush = base.FlushErrors
|
||||
base.Ctxt.Bso = bufio.NewWriter(os.Stdout)
|
||||
types.LocalPkg = types.NewPkg("", "local")
|
||||
types.LocalPkg.Prefix = `""`
|
||||
types.PtrSize = ssagen.Arch.LinkArch.PtrSize
|
||||
types.RegSize = ssagen.Arch.LinkArch.RegSize
|
||||
typecheck.InitUniverse()
|
||||
@ -309,8 +311,8 @@ func TestABIUtilsInterfaces(t *testing.T) {
|
||||
ei := types.Types[types.TINTER] // interface{}
|
||||
pei := types.NewPtr(ei) // *interface{}
|
||||
fldt := mkFuncType(types.FakeRecvType(), []*types.Type{},
|
||||
[]*types.Type{types.UntypedString})
|
||||
field := types.NewField(src.NoXPos, typecheck.Lookup("f"), fldt)
|
||||
[]*types.Type{types.Types[types.TSTRING]})
|
||||
field := types.NewField(src.NoXPos, typecheck.Lookup("F"), fldt)
|
||||
nei := types.NewInterface(types.LocalPkg, []*types.Field{field})
|
||||
i16 := types.Types[types.TINT16]
|
||||
tb := types.Types[types.TBOOL]
|
||||
@ -322,12 +324,12 @@ func TestABIUtilsInterfaces(t *testing.T) {
|
||||
IN 0: R{ I0 I1 I2 } spilloffset: 0 typ: struct { int16; int16; bool }
|
||||
IN 1: R{ I3 I4 } spilloffset: 8 typ: interface {}
|
||||
IN 2: R{ I5 I6 } spilloffset: 24 typ: interface {}
|
||||
IN 3: R{ I7 I8 } spilloffset: 40 typ: interface { .f() untyped string }
|
||||
IN 3: R{ I7 I8 } spilloffset: 40 typ: interface { F() string }
|
||||
IN 4: R{ } offset: 0 typ: *interface {}
|
||||
IN 5: R{ } offset: 8 typ: interface { .f() untyped string }
|
||||
IN 5: R{ } offset: 8 typ: interface { F() string }
|
||||
IN 6: R{ } offset: 24 typ: int16
|
||||
OUT 0: R{ I0 I1 } spilloffset: -1 typ: interface {}
|
||||
OUT 1: R{ I2 I3 } spilloffset: -1 typ: interface { .f() untyped string }
|
||||
OUT 1: R{ I2 I3 } spilloffset: -1 typ: interface { F() string }
|
||||
OUT 2: R{ I4 } spilloffset: -1 typ: *interface {}
|
||||
offsetToSpillArea: 32 spillAreaSize: 56
|
||||
`)
|
||||
|
Loading…
Reference in New Issue
Block a user