diff options
Diffstat (limited to 'src/go/internal/gccgoimporter/testdata')
30 files changed, 1053 insertions, 0 deletions
diff --git a/src/go/internal/gccgoimporter/testdata/aliases.go b/src/go/internal/gccgoimporter/testdata/aliases.go new file mode 100644 index 0000000..cfb59b3 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/aliases.go @@ -0,0 +1,65 @@ +package aliases + +type ( + T0 [10]int + T1 []byte + T2 struct { + x int + } + T3 interface { + m() T2 + } + T4 func(int, T0) chan T2 +) + +// basic aliases +type ( + Ai = int + A0 = T0 + A1 = T1 + A2 = T2 + A3 = T3 + A4 = T4 + + A10 = [10]int + A11 = []byte + A12 = struct { + x int + } + A13 = interface { + m() A2 + } + A14 = func(int, A0) chan A2 +) + +// alias receiver types +func (T0) m1() {} +func (A0) m2() {} + +// alias receiver types (long type declaration chains) +type ( + V0 = V1 + V1 = (V2) + V2 = (V3) + V3 = T0 +) + +func (V1) n() {} + +// cycles +type C0 struct { + f1 C1 + f2 C2 +} + +type ( + C1 *C0 + C2 = C1 +) + +type ( + C5 struct { + f *C6 + } + C6 = C5 +) diff --git a/src/go/internal/gccgoimporter/testdata/aliases.gox b/src/go/internal/gccgoimporter/testdata/aliases.gox new file mode 100644 index 0000000..2428c06 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/aliases.gox @@ -0,0 +1,33 @@ +v2; +package aliases; +prefix go; +package aliases go.aliases go.aliases; +type <type 1 "A0" = <type 2 "T0" <type 3 [10 ] <type -11>> + func (? <esc:0x1> <type 2>) .go.aliases.m1 (); + func (? <esc:0x1> <type 1>) .go.aliases.m2 (); + func (? <esc:0x1> <type 4 "V1" = <type 5 "V2" = <type 6 "V3" = <type 2>>>>) .go.aliases.n (); +>>; +type <type 7 "A1" = <type 8 "T1" <type 9 [] <type -20>>>>; +type <type 10 "A10" = <type 11 [10 ] <type -11>>>; +type <type 12 "A11" = <type 13 [] <type -20>>>; +type <type 14 "A12" = <type 15 struct { .go.aliases.x <type -11>; }>>; +type <type 16 "A13" = <type 17 interface { .go.aliases.m () <type 18 "A2" = <type 19 "T2" <type 20 struct { .go.aliases.x <type -11>; }>>>; }>>; +type <type 21 "A14" = <type 22 (? <type -11>, ? <type 1>) <type 23 chan <type 18>>>>; +type <type 18>; +type <type 24 "A3" = <type 25 "T3" <type 26 interface { .go.aliases.m () <type 19>; }>>>; +type <type 27 "A4" = <type 28 "T4" <type 29 (? <type -11>, ? <type 2>) <type 30 chan <type 19>>>>>; +type <type 31 "Ai" = <type -11>>; +type <type 32 "C0" <type 33 struct { .go.aliases.f1 <type 34 "C1" <type 35 *<type 32>>>; .go.aliases.f2 <type 36 "C2" = <type 34>>; }>>; +type <type 34>; +type <type 36>; +type <type 37 "C5" <type 38 struct { .go.aliases.f <type 39 *<type 40 "C6" = <type 37>>>; }>>; +type <type 40>; +type <type 2>; +type <type 8>; +type <type 19>; +type <type 25>; +type <type 28>; +type <type 41 "V0" = <type 4>>; +type <type 4>; +type <type 5>; +type <type 6>; diff --git a/src/go/internal/gccgoimporter/testdata/complexnums.go b/src/go/internal/gccgoimporter/testdata/complexnums.go new file mode 100644 index 0000000..a51b6b0 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/complexnums.go @@ -0,0 +1,6 @@ +package complexnums + +const NN = -1 - 1i +const NP = -1 + 1i +const PN = 1 - 1i +const PP = 1 + 1i diff --git a/src/go/internal/gccgoimporter/testdata/complexnums.gox b/src/go/internal/gccgoimporter/testdata/complexnums.gox new file mode 100644 index 0000000..b66524f --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/complexnums.gox @@ -0,0 +1,8 @@ +v1; +package complexnums; +pkgpath complexnums; +priority 1; +const NN = -0.1E1-0.1E1i ; +const NP = -0.1E1+0.1E1i ; +const PN = 0.1E1-0.1E1i ; +const PP = 0.1E1+0.1E1i ; diff --git a/src/go/internal/gccgoimporter/testdata/conversions.go b/src/go/internal/gccgoimporter/testdata/conversions.go new file mode 100644 index 0000000..653927a --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/conversions.go @@ -0,0 +1,5 @@ +package conversions + +type Units string + +const Bits = Units("bits") diff --git a/src/go/internal/gccgoimporter/testdata/conversions.gox b/src/go/internal/gccgoimporter/testdata/conversions.gox new file mode 100644 index 0000000..7de6cda --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/conversions.gox @@ -0,0 +1,6 @@ +v2; +package conversions; +prefix go; +package conversions go.conversions go.conversions; +const Bits <type 1 "Units" <type -16>> = convert(<type 1>, "bits"); +type <type 1>; diff --git a/src/go/internal/gccgoimporter/testdata/escapeinfo.go b/src/go/internal/gccgoimporter/testdata/escapeinfo.go new file mode 100644 index 0000000..103ad95 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/escapeinfo.go @@ -0,0 +1,13 @@ +// Test case for escape info in export data. To compile and extract .gox file: +// gccgo -fgo-optimize-allocs -c escapeinfo.go +// objcopy -j .go_export escapeinfo.o escapeinfo.gox + +package escapeinfo + +type T struct{ data []byte } + +func NewT(data []byte) *T { + return &T{data} +} + +func (*T) Read(p []byte) {} diff --git a/src/go/internal/gccgoimporter/testdata/escapeinfo.gox b/src/go/internal/gccgoimporter/testdata/escapeinfo.gox new file mode 100644 index 0000000..94ce039 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/escapeinfo.gox @@ -0,0 +1,9 @@ +v2; +package escapeinfo; +prefix go; +package escapeinfo go.escapeinfo go.escapeinfo; +func NewT (data <type 1 [] <type -20>>) <type 2 *<type 3 "T" <type 4 struct { .go.escapeinfo.data <type 5 [] <type -20>>; }> + func (? <type 6 *<type 3>>) Read (p <esc:0x1> <type 7 [] <type -20>>); +>>; +type <type 3>; +checksum 3500838130783C0059CD0C81527F60E9738E3ACE; diff --git a/src/go/internal/gccgoimporter/testdata/imports.go b/src/go/internal/gccgoimporter/testdata/imports.go new file mode 100644 index 0000000..7907316 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/imports.go @@ -0,0 +1,5 @@ +package imports + +import "fmt" + +var Hello = fmt.Sprintf("Hello, world") diff --git a/src/go/internal/gccgoimporter/testdata/imports.gox b/src/go/internal/gccgoimporter/testdata/imports.gox new file mode 100644 index 0000000..958a4f5 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/imports.gox @@ -0,0 +1,7 @@ +v1; +package imports; +pkgpath imports; +priority 7; +import fmt fmt "fmt"; +init imports imports..import 7 math math..import 1 runtime runtime..import 1 strconv strconv..import 2 io io..import 3 reflect reflect..import 3 syscall syscall..import 3 time time..import 4 os os..import 5 fmt fmt..import 6; +var Hello <type -16>; diff --git a/src/go/internal/gccgoimporter/testdata/issue27856.go b/src/go/internal/gccgoimporter/testdata/issue27856.go new file mode 100644 index 0000000..bf361e1 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue27856.go @@ -0,0 +1,9 @@ +package lib + +type M struct { + E E +} +type F struct { + _ *M +} +type E = F diff --git a/src/go/internal/gccgoimporter/testdata/issue27856.gox b/src/go/internal/gccgoimporter/testdata/issue27856.gox new file mode 100644 index 0000000..6665e64 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue27856.gox @@ -0,0 +1,9 @@ +v2; +package main; +pkgpath main; +import runtime runtime "runtime"; +init runtime runtime..import sys runtime_internal_sys..import; +init_graph 0 1; +type <type 1 "E" = <type 2 "F" <type 3 struct { .main._ <type 4 *<type 5 "M" <type 6 struct { E <type 1>; }>>>; }>>>; +type <type 2>; +type <type 5>; diff --git a/src/go/internal/gccgoimporter/testdata/issue29198.go b/src/go/internal/gccgoimporter/testdata/issue29198.go new file mode 100644 index 0000000..75c2162 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue29198.go @@ -0,0 +1,37 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package server + +import ( + "context" + "errors" +) + +type A struct { + x int +} + +func (a *A) AMethod(y int) *Server { + return nil +} + +// FooServer is a server that provides Foo services +type FooServer Server + +func (f *FooServer) WriteEvents(ctx context.Context, x int) error { + return errors.New("hey!") +} + +type Server struct { + FooServer *FooServer + user string + ctx context.Context +} + +func New(sctx context.Context, u string) (*Server, error) { + s := &Server{user: u, ctx: sctx} + s.FooServer = (*FooServer)(s) + return s, nil +} diff --git a/src/go/internal/gccgoimporter/testdata/issue29198.gox b/src/go/internal/gccgoimporter/testdata/issue29198.gox new file mode 100644 index 0000000..905c866 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue29198.gox @@ -0,0 +1,86 @@ +v2; +package server; +pkgpath issue29198; +import context context "context"; +import errors errors "errors"; +init context context..import fmt fmt..import poll internal_poll..import testlog internal_testlog..import io io..import os os..import reflect reflect..import runtime runtime..import sys runtime_internal_sys..import strconv strconv..import sync sync..import syscall syscall..import time time..import unicode unicode..import; +init_graph 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 2 4 2 7 2 8 2 10 2 11 2 12 4 7 4 8 4 10 5 2 5 3 5 4 5 7 5 8 5 10 5 11 5 12 6 7 6 8 6 9 6 10 6 13 7 8 9 7 9 8 10 7 10 8 11 7 11 8 11 10 12 7 12 8 12 10 12 11; +type <type 1 "A" <type 2 struct { .issue29198.x <type -11>; }> + func (a <esc:0x1> <type 3 *<type 1>>) AMethod (y <type -11>) <type 4 *<type 5 "Server" <type 6 struct { FooServer <type 7 *<type 8 "FooServer" <type 5> + func (f <esc:0x1> <type 9 *<type 8>>) WriteEvents (ctx <esc:0x1> <type 10 "context.Context" <type 11 interface { Deadline () (deadline <type 12 "time.Time" "time" <type 13 struct { .time.wall <type -8>; .time.ext <type -4>; .time.loc <type 14 *<type 15 "time.Location" <type 16 struct { .time.name <type -16>; .time.zone <type 17 [] <type 18 ".time.zone" <type 19 struct { .time.name <type -16>; .time.offset <type -11>; .time.isDST <type -15>; }>>>; .time.tx <type 20 [] <type 21 ".time.zoneTrans" <type 22 struct { .time.when <type -4>; .time.index <type -5>; .time.isstd <type -15>; .time.isutc <type -15>; }>>>; .time.cacheStart <type -4>; .time.cacheEnd <type -4>; .time.cacheZone <type 23 *<type 18>>; }> + func (l <esc:0x22> <type 24 *<type 15>>) String () <type -16>; + func (l <esc:0x1> <type 24>) .time.lookupFirstZone () <type -11>; + func (l <esc:0x12> <type 24>) .time.get () <type 24>; + func (l <esc:0x32> <type 24>) .time.lookup (sec <type -4>) (name <type -16>, offset <type -11>, isDST <type -15>, start <type -4>, end <type -4>); + func (l <esc:0x1> <type 24>) .time.lookupName (name <esc:0x1> <type -16>, unix <type -4>) (offset <type -11>, ok <type -15>); + func (l <esc:0x1> <type 24>) .time.firstZoneUsed () <type -15>; +>>; }> + func (t <esc:0x12> <type 12>) In (loc <type 14>) <type 12>; + func (t <esc:0x1> <type 12>) .time.date (full <type -15>) (year <type -11>, month <type 25 "time.Month" <type -11> + func (m <type 25>) String () <type -16>; +>, day <type -11>, yday <type -11>); + func (t <esc:0x1> <type 12>) Sub (u <esc:0x1> <type 12>) <type 26 "time.Duration" <type -4> + func (d <type 26>) Truncate (m <type 26>) <type 26>; + func (d <type 26>) String () <type -16>; + func (d <type 26>) Round (m <type 26>) <type 26>; + func (d <type 26>) Seconds () <type -10>; + func (d <type 26>) Nanoseconds () <type -4>; + func (d <type 26>) Minutes () <type -10>; + func (d <type 26>) Hours () <type -10>; +>; + func (t <esc:0x12> <type 12>) Add (d <type 26>) <type 12>; + func (t <esc:0x12> <type 12>) UTC () <type 12>; + func (t <type 12>) AddDate (years <type -11>, months <type -11>, days <type -11>) <type 12>; + func (t <esc:0x1> <type 12>) MarshalBinary () (? <type 27 [] <type -20>>, ? <type -19>); + func (t <esc:0x1> <type 12>) Nanosecond () <type -11>; + func (t <esc:0x12> <type 12>) Round (d <type 26>) <type 12>; + func (t <esc:0x1> <type 12>) Minute () <type -11>; + func (t <esc:0x1> <type 12>) Clock () (hour <type -11>, min <type -11>, sec <type -11>); + func (t <esc:0x1> <type 12>) ISOWeek () (year <type -11>, week <type -11>); + func (t <esc:0x1> <type 12>) Day () <type -11>; + func (t <esc:0x1> <type 28 *<type 12>>) .time.mono () <type -4>; + func (t <esc:0x1> <type 12>) UnixNano () <type -4>; + func (t <esc:0x1> <type 28>) .time.sec () <type -4>; + func (t <esc:0x1> <type 12>) Second () <type -11>; + func (t <esc:0x1> <type 12>) Before (u <esc:0x1> <type 12>) <type -15>; + func (t <esc:0x1> <type 28>) UnmarshalBinary (data <esc:0x1> <type 29 [] <type -20>>) <type -19>; + func (t <esc:0x1> <type 12>) Month () <type 25>; + func (t <esc:0x1> <type 12>) YearDay () <type -11>; + func (t <esc:0x12> <type 12>) Location () <type 14>; + func (t <esc:0x32> <type 12>) Zone () (name <type -16>, offset <type -11>); + func (t <esc:0x12> <type 12>) Local () <type 12>; + func (t <esc:0x1> <type 28>) .time.setLoc (loc <type 14>); + func (t <esc:0x12> <type 12>) Truncate (d <type 26>) <type 12>; + func (t <esc:0x1> <type 12>) MarshalJSON () (? <type 30 [] <type -20>>, ? <type -19>); + func (t <esc:0x1> <type 12>) AppendFormat (b <esc:0x12> <type 31 [] <type -20>>, layout <esc:0x1> <type -16>) <type 32 [] <type -20>>; + func (t <esc:0x1> <type 28>) GobDecode (data <esc:0x1> <type 33 [] <type -20>>) <type -19>; + func (t <esc:0x1> <type 28>) UnmarshalJSON (data <esc:0x1> <type 34 [] <type -20>>) <type -19>; + func (t <esc:0x1> <type 12>) MarshalText () (? <type 35 [] <type -20>>, ? <type -19>); + func (t <esc:0x1> <type 12>) GobEncode () (? <type 36 [] <type -20>>, ? <type -19>); + func (t <esc:0x1> <type 28>) .time.stripMono (); + func (t <esc:0x1> <type 12>) After (u <esc:0x1> <type 12>) <type -15>; + func (t <esc:0x1> <type 12>) Hour () <type -11>; + func (t <esc:0x1> <type 28>) UnmarshalText (data <esc:0x1> <type 37 [] <type -20>>) <type -19>; + func (t <esc:0x1> <type 12>) Equal (u <esc:0x1> <type 12>) <type -15>; + func (t <esc:0x1> <type 28>) .time.setMono (m <type -4>); + func (t <esc:0x1> <type 12>) Year () <type -11>; + func (t <esc:0x1> <type 12>) IsZero () <type -15>; + func (t <esc:0x1> <type 28>) .time.addSec (d <type -4>); + func (t <esc:0x1> <type 12>) Weekday () <type 38 "time.Weekday" <type -11> + func (d <type 38>) String () <type -16>; +>; + func (t <esc:0x1> <type 12>) String () <type -16>; + func (t <esc:0x1> <type 28>) .time.nsec () <type -3>; + func (t <esc:0x1> <type 12>) Format (layout <esc:0x1> <type -16>) <type -16>; + func (t <esc:0x1> <type 28>) .time.unixSec () <type -4>; + func (t <esc:0x1> <type 12>) Unix () <type -4>; + func (t <esc:0x1> <type 12>) .time.abs () <type -8>; + func (t <esc:0x32> <type 12>) .time.locabs () (name <type -16>, offset <type -11>, abs <type -8>); + func (t <esc:0x1> <type 12>) Date () (year <type -11>, month <type 25>, day <type -11>); +>, ok <type -15>); Done () <type 39 chan <- <type 40 struct { }>>; Err () <type -19>; Value (key <type 41 interface { }>) <type 42 interface { }>; }>>, x <type -11>) <type -19>; +>>; .issue29198.user <type -16>; .issue29198.ctx <type 10>; }>>>; +>; +type <type 8>; +func New (sctx <type 10>, u <type -16>) (? <type 43 *<type 5>>, ? <type -19>); +type <type 5>; +checksum 86C8D76B2582F55A8BD2CA9E00060358EC1CE214; diff --git a/src/go/internal/gccgoimporter/testdata/issue30628.go b/src/go/internal/gccgoimporter/testdata/issue30628.go new file mode 100644 index 0000000..8fd7c13 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue30628.go @@ -0,0 +1,18 @@ +package issue30628 + +import ( + "os" + "sync" +) + +const numR = int32(os.O_TRUNC + 5) + +type Apple struct { + hey sync.RWMutex + x int + RQ [numR]struct { + Count uintptr + NumBytes uintptr + Last uintptr + } +} diff --git a/src/go/internal/gccgoimporter/testdata/issue30628.gox b/src/go/internal/gccgoimporter/testdata/issue30628.gox new file mode 100644 index 0000000..0ff6259 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue30628.gox @@ -0,0 +1,28 @@ +v3; +package issue30628 +pkgpath issue30628 +import os os "os" +import sync sync "sync" +init cpu internal..z2fcpu..import poll internal..z2fpoll..import testlog internal..z2ftestlog..import io io..import os os..import runtime runtime..import sys runtime..z2finternal..z2fsys..import sync sync..import syscall syscall..import time time..import +init_graph 1 0 1 3 1 5 1 6 1 7 1 8 1 9 3 0 3 5 3 6 3 7 4 0 4 1 4 2 4 3 4 5 4 6 4 7 4 8 4 9 5 0 5 6 7 0 7 5 7 6 8 0 8 5 8 6 8 7 9 0 9 5 9 6 9 7 9 8 +types 13 2 24 84 208 17 30 41 147 86 17 64 25 75 +type 1 "Apple" <type 2> +type 2 struct { .issue30628.hey <type 3>; .issue30628.x <type -11>; RQ <type 11>; } +type 3 "sync.RWMutex" <type 7> + func (rw <type 4>) Lock () + func (rw <esc:0x12> <type 4>) RLocker () ($ret8 <type 5>) + func (rw <type 4>) RUnlock () + func (rw <type 4>) Unlock () + func (rw <type 4>) RLock () +type 4 *<type 3> +type 5 "sync.Locker" <type 6> +type 6 interface { Lock (); Unlock (); } +type 7 struct { .sync.w <type 8>; .sync.writerSem <type -7>; .sync.readerSem <type -7>; .sync.readerCount <type -3>; .sync.readerWait <type -3>; } +type 8 "sync.Mutex" <type 10> + func (m <type 9>) Unlock () + func (m <type 9>) Lock () +type 9 *<type 8> +type 10 struct { .sync.state <type -3>; .sync.sema <type -7>; } +type 11 [517 ] <type 12> +type 12 struct { Count <type -13>; NumBytes <type -13>; Last <type -13>; } +checksum 199DCF6D3EE2FCF39F715B4E42B5F87F5B15D3AF diff --git a/src/go/internal/gccgoimporter/testdata/issue31540.go b/src/go/internal/gccgoimporter/testdata/issue31540.go new file mode 100644 index 0000000..2c6799e --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue31540.go @@ -0,0 +1,26 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package issue31540 + +type Y struct { + q int +} + +type Z map[int]int + +type X = map[Y]Z + +type A1 = X + +type A2 = A1 + +type S struct { + b int + A2 +} + +func Hallo() S { + return S{} +} diff --git a/src/go/internal/gccgoimporter/testdata/issue31540.gox b/src/go/internal/gccgoimporter/testdata/issue31540.gox new file mode 100644 index 0000000..abdc696 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue31540.gox @@ -0,0 +1,16 @@ +v3; +package issue31540 +pkgpath issue31540 +types 11 7 23 23 20 22 20 21 57 31 45 36 +type 1 "A1" = <type 4> +type 2 "A2" = <type 1> +type 3 "S" <type 7> +type 4 "X" = <type 8> +type 5 "Y" <type 9> +type 6 "Z" <type 10> +type 7 struct { .go.mapalias.b <type -11>; ? <type 2>; } +type 8 map [<type 5>] <type 6> +type 9 struct { .go.mapalias.q <type -11>; } +type 10 map [<type -11>] <type -11> +func Hallo () <type 3> +checksum C3FAF2524A90BC11225EE65D059BF27DFB69134B diff --git a/src/go/internal/gccgoimporter/testdata/issue34182.go b/src/go/internal/gccgoimporter/testdata/issue34182.go new file mode 100644 index 0000000..2a5c333 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue34182.go @@ -0,0 +1,17 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package issue34182 + +type T1 struct { + f *T2 +} + +type T2 struct { + f T3 +} + +type T3 struct { + *T2 +} diff --git a/src/go/internal/gccgoimporter/testdata/issue34182.gox b/src/go/internal/gccgoimporter/testdata/issue34182.gox new file mode 100644 index 0000000..671a7d6 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/issue34182.gox @@ -0,0 +1,13 @@ +v3; +package issue34182 +pkgpath issue34182 +init issue34182 ~go.issue34182 +types 8 4 21 21 21 17 30 45 45 +type 1 "T1" <type 6> +type 2 "T2" <type 7> +type 3 "T3" <type 5> +type 4 *<type 2> +type 5 struct { ? <type 4>; } +type 6 struct { .go.issue34182.f <type 4>; } +type 7 struct { .go.issue34182.f <type 3>; } +checksum FF02C49BAF44B06C087ED4E573F7CC880C79C208 diff --git a/src/go/internal/gccgoimporter/testdata/libimportsar.a b/src/go/internal/gccgoimporter/testdata/libimportsar.a Binary files differnew file mode 100644 index 0000000..6f30758 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/libimportsar.a diff --git a/src/go/internal/gccgoimporter/testdata/nointerface.go b/src/go/internal/gccgoimporter/testdata/nointerface.go new file mode 100644 index 0000000..6a545f2 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/nointerface.go @@ -0,0 +1,12 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package nointerface + +type I int + +//go:nointerface +func (p *I) Get() int { return int(*p) } + +func (p *I) Set(v int) { *p = I(v) } diff --git a/src/go/internal/gccgoimporter/testdata/nointerface.gox b/src/go/internal/gccgoimporter/testdata/nointerface.gox new file mode 100644 index 0000000..7b73d17 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/nointerface.gox @@ -0,0 +1,8 @@ +v3; +package nointerface +pkgpath nointerface +types 3 2 133 17 +type 1 "I" <type -11> + func /*nointerface*/ (p <esc:0x1> <type 2>) Get () <type -11> + func (p <esc:0x1> <type 2>) Set (v <type -11>) +type 2 *<type 1> diff --git a/src/go/internal/gccgoimporter/testdata/notinheap.go b/src/go/internal/gccgoimporter/testdata/notinheap.go new file mode 100644 index 0000000..b1ac967 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/notinheap.go @@ -0,0 +1,4 @@ +package notinheap + +//go:notinheap +type S struct{} diff --git a/src/go/internal/gccgoimporter/testdata/notinheap.gox b/src/go/internal/gccgoimporter/testdata/notinheap.gox new file mode 100644 index 0000000..cc438e7 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/notinheap.gox @@ -0,0 +1,7 @@ +v3; +package notinheap +pkgpath notinheap +init notinheap ~notinheap +types 3 2 30 18 +type 1 "S" notinheap <type 2> +type 2 struct { } diff --git a/src/go/internal/gccgoimporter/testdata/pointer.go b/src/go/internal/gccgoimporter/testdata/pointer.go new file mode 100644 index 0000000..4ebc671 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/pointer.go @@ -0,0 +1,3 @@ +package pointer + +type Int8Ptr *int8 diff --git a/src/go/internal/gccgoimporter/testdata/pointer.gox b/src/go/internal/gccgoimporter/testdata/pointer.gox new file mode 100644 index 0000000..d96ebbd --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/pointer.gox @@ -0,0 +1,4 @@ +v1; +package pointer; +pkgpath pointer; +type <type 1 "Int8Ptr" <type 2 *<type -1>>>; diff --git a/src/go/internal/gccgoimporter/testdata/time.gox b/src/go/internal/gccgoimporter/testdata/time.gox new file mode 100644 index 0000000..a6822ea --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/time.gox @@ -0,0 +1,142 @@ +v2; +package time; +pkgpath time; +import errors errors "errors"; +import sync sync "sync"; +import syscall syscall "syscall"; +init time time..import runtime runtime..import sync sync..import syscall syscall..import; +init_graph 0 1 0 2 0 3 2 1 3 1 3 2; +const ANSIC = "Mon Jan _2 15:04:05 2006"; +func After (d <type 1 "Duration" <type -4> + func (d <type 1>) String () <type -16>; + func (d <type 1>) Nanoseconds () <type -4>; + func (d <type 1>) Seconds () <type -10>; + func (d <type 1>) Minutes () <type -10>; + func (d <type 1>) Hours () <type -10>; +>) <type 2 chan <- <type 3 "Time" <type 4 struct { .time.sec <type -4>; .time.nsec <type -3>; .time.loc <type 5 *<type 6 "Location" <type 7 struct { .time.name <type -16>; .time.zone <type 8 [] <type 9 ".time.zone" <type 10 struct { .time.name <type -16>; .time.offset <type -11>; .time.isDST <type -15>; }>>>; .time.tx <type 11 [] <type 12 ".time.zoneTrans" <type 13 struct { .time.when <type -4>; .time.index <type -5>; .time.isstd <type -15>; .time.isutc <type -15>; }>>>; .time.cacheStart <type -4>; .time.cacheEnd <type -4>; .time.cacheZone <type 14 *<type 9>>; }> + func (l <type 15 *<type 6>>) .time.get () <type 15>; + func (l <type 15>) String () <type -16>; + func (l <type 15>) .time.lookup (sec <type -4>) (name <type -16>, offset <type -11>, isDST <type -15>, start <type -4>, end <type -4>); + func (l <type 15>) .time.lookupFirstZone () <type -11>; + func (l <type 15>) .time.firstZoneUsed () <type -15>; + func (l <type 15>) .time.lookupName (name <type -16>, unix <type -4>) (offset <type -11>, isDST <type -15>, ok <type -15>); +>>; }> + func (t <type 3>) String () <type -16>; + func (t <type 3>) Format (layout <type -16>) <type -16>; + func (t <type 3>) AppendFormat (b <type 16 [] <type -20>>, layout <type -16>) <type 17 [] <type -20>>; + func (t <type 3>) After (u <type 3>) <type -15>; + func (t <type 3>) Before (u <type 3>) <type -15>; + func (t <type 3>) Equal (u <type 3>) <type -15>; + func (t <type 3>) IsZero () <type -15>; + func (t <type 3>) .time.abs () <type -8>; + func (t <type 3>) .time.locabs () (name <type -16>, offset <type -11>, abs <type -8>); + func (t <type 3>) Date () (year <type -11>, month <type 18 "Month" <type -11> + func (m <type 18>) String () <type -16>; +>, day <type -11>); + func (t <type 3>) Year () <type -11>; + func (t <type 3>) Month () <type 18>; + func (t <type 3>) Day () <type -11>; + func (t <type 3>) Weekday () <type 19 "Weekday" <type -11> + func (d <type 19>) String () <type -16>; +>; + func (t <type 3>) ISOWeek () (year <type -11>, week <type -11>); + func (t <type 3>) Clock () (hour <type -11>, min <type -11>, sec <type -11>); + func (t <type 3>) Hour () <type -11>; + func (t <type 3>) Minute () <type -11>; + func (t <type 3>) Second () <type -11>; + func (t <type 3>) Nanosecond () <type -11>; + func (t <type 3>) YearDay () <type -11>; + func (t <type 3>) Add (d <type 1>) <type 3>; + func (t <type 3>) Sub (u <type 3>) <type 1>; + func (t <type 3>) AddDate (years <type -11>, months <type -11>, days <type -11>) <type 3>; + func (t <type 3>) .time.date (full <type -15>) (year <type -11>, month <type 18>, day <type -11>, yday <type -11>); + func (t <type 3>) UTC () <type 3>; + func (t <type 3>) Local () <type 3>; + func (t <type 3>) In (loc <type 20 *<type 6>>) <type 3>; + func (t <type 3>) Location () <type 21 *<type 6>>; + func (t <type 3>) Zone () (name <type -16>, offset <type -11>); + func (t <type 3>) Unix () <type -4>; + func (t <type 3>) UnixNano () <type -4>; + func (t <type 3>) MarshalBinary () (? <type 22 [] <type -20>>, ? <type -19>); + func (t <type 23 *<type 3>>) UnmarshalBinary (data <type 24 [] <type -20>>) <type -19>; + func (t <type 3>) GobEncode () (? <type 25 [] <type -20>>, ? <type -19>); + func (t <type 23>) GobDecode (data <type 26 [] <type -20>>) <type -19>; + func (t <type 3>) MarshalJSON () (? <type 27 [] <type -20>>, ? <type -19>); + func (t <type 23>) UnmarshalJSON (data <type 28 [] <type -20>>) <type -19>; + func (t <type 3>) MarshalText () (? <type 29 [] <type -20>>, ? <type -19>); + func (t <type 23>) UnmarshalText (data <type 30 [] <type -20>>) <type -19>; + func (t <type 3>) Truncate (d <type 1>) <type 3>; + func (t <type 3>) Round (d <type 1>) <type 3>; +>>; +func AfterFunc (d <type 1>, f <type 31 ()>) <type 32 *<type 33 "Timer" <type 34 struct { C <type 35 chan <- <type 3>>; .time.r <type 36 ".time.runtimeTimer" <type 37 struct { .time.i <type -11>; .time.when <type -4>; .time.period <type -4>; .time.f <type 38 (? <type 39 interface { }>, ? <type -13>)>; .time.arg <type 40 interface { }>; .time.seq <type -13>; }>>; }> + func (t <type 41 *<type 33>>) Stop () <type -15>; + func (t <type 41>) Reset (d <type 1>) <type -15>; +>>; +const April <type 18> = 4 ; +const August <type 18> = 8 ; +func Date (year <type -11>, month <type 18>, day <type -11>, hour <type -11>, min <type -11>, sec <type -11>, nsec <type -11>, loc <type 42 *<type 6>>) <type 3>; +const December <type 18> = 12 ; +type <type 1>; +const February <type 18> = 2 ; +func FixedZone (name <type -16>, offset <type -11>) <type 15>; +const Friday <type 19> = 5 ; +const Hour <type 1> = 3600000000000 ; +const January <type 18> = 1 ; +const July <type 18> = 7 ; +const June <type 18> = 6 ; +const Kitchen = "3:04PM"; +func LoadLocation (name <type -16>) (? <type 15>, ? <type -19>); +var Local <type 15>; +type <type 6>; +var LocationSource <type 43 (name <type -16>) (? <type 44 [] <type -20>>, ? <type -19>)>; +const March <type 18> = 3 ; +const May <type 18> = 5 ; +const Microsecond <type 1> = 1000 ; +const Millisecond <type 1> = 1000000 ; +const Minute <type 1> = 60000000000 ; +const Monday <type 19> = 1 ; +type <type 18>; +const Nanosecond <type 1> = 1 ; +func NewTicker (d <type 1>) <type 45 *<type 46 "Ticker" <type 47 struct { C <type 48 chan <- <type 3>>; .time.r <type 36>; }> + func (t <type 49 *<type 46>>) Stop (); +>>; +func NewTimer (d <type 1>) <type 32>; +const November <type 18> = 11 ; +func Now () <type 3>; +const October <type 18> = 10 ; +func Parse (layout <type -16>, value <type -16>) (? <type 3>, ? <type -19>); +func ParseDuration (s <type -16>) (? <type 1>, ? <type -19>); +type <type 50 "ParseError" <type 51 struct { Layout <type -16>; Value <type -16>; LayoutElem <type -16>; ValueElem <type -16>; Message <type -16>; }> + func (e <type 52 *<type 50>>) Error () <type -16>; +>; +func ParseInLocation (layout <type -16>, value <type -16>, loc <type 53 *<type 6>>) (? <type 3>, ? <type -19>); +const RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"; +const RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700"; +const RFC3339 = "2006-01-02T15:04:05Z07:00"; +const RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"; +const RFC822 = "02 Jan 06 15:04 MST"; +const RFC822Z = "02 Jan 06 15:04 -0700"; +const RFC850 = "Monday, 02-Jan-06 15:04:05 MST"; +const RubyDate = "Mon Jan 02 15:04:05 -0700 2006"; +const Saturday <type 19> = 6 ; +const Second <type 1> = 1000000000 ; +const September <type 18> = 9 ; +func Since (t <type 3>) <type 1>; +func Sleep (d <type 1>); +const Stamp = "Jan _2 15:04:05"; +const StampMicro = "Jan _2 15:04:05.000000"; +const StampMilli = "Jan _2 15:04:05.000"; +const StampNano = "Jan _2 15:04:05.000000000"; +const Sunday <type 19> = 0 ; +const Thursday <type 19> = 4 ; +func Tick (d <type 1>) <type 54 chan <- <type 3>>; +type <type 46>; +type <type 3>; +type <type 33>; +const Tuesday <type 19> = 2 ; +var UTC <type 15>; +func Unix (sec <type -4>, nsec <type -4>) <type 3>; +const UnixDate = "Mon Jan _2 15:04:05 MST 2006"; +const Wednesday <type 19> = 3 ; +type <type 19>; +checksum C04E7F45B20C621A25DC74E9B13EA4FF6732E226; diff --git a/src/go/internal/gccgoimporter/testdata/unicode.gox b/src/go/internal/gccgoimporter/testdata/unicode.gox new file mode 100644 index 0000000..ae1a6f7 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/unicode.gox @@ -0,0 +1,273 @@ +v2; +package unicode; +pkgpath unicode; +init unicode unicode..import; +var ASCII_Hex_Digit <type 1 *<type 2 "RangeTable" <type 3 struct { R16 <type 4 [] <type 5 "Range16" <type 6 struct { Lo <type -6>; Hi <type -6>; Stride <type -6>; }>>>; R32 <type 7 [] <type 8 "Range32" <type 9 struct { Lo <type -7>; Hi <type -7>; Stride <type -7>; }>>>; LatinOffset <type -11>; }>>>; +var Adlam <type 1>; +var Ahom <type 1>; +var Anatolian_Hieroglyphs <type 1>; +var Arabic <type 1>; +var Armenian <type 1>; +var Avestan <type 1>; +var AzeriCase <type 10 "SpecialCase" <type 11 [] <type 12 "CaseRange" <type 13 struct { Lo <type -7>; Hi <type -7>; Delta <type 14 ".unicode.d" <type 15 [3 ] <type -21>>>; }>>> + func (special <type 10>) ToUpper (r <type -21>) <type -21>; + func (special <type 10>) ToTitle (r <type -21>) <type -21>; + func (special <type 10>) ToLower (r <type -21>) <type -21>; +>; +var Balinese <type 1>; +var Bamum <type 1>; +var Bassa_Vah <type 1>; +var Batak <type 1>; +var Bengali <type 1>; +var Bhaiksuki <type 1>; +var Bidi_Control <type 1>; +var Bopomofo <type 1>; +var Brahmi <type 1>; +var Braille <type 1>; +var Buginese <type 1>; +var Buhid <type 1>; +var C <type 1>; +var Canadian_Aboriginal <type 1>; +var Carian <type 1>; +type <type 12>; +var CaseRanges <type 16 [] <type 12>>; +var Categories <type 17 map [<type -16>] <type 1>>; +var Caucasian_Albanian <type 1>; +var Cc <type 1>; +var Cf <type 1>; +var Chakma <type 1>; +var Cham <type 1>; +var Cherokee <type 1>; +var Co <type 1>; +var Common <type 1>; +var Coptic <type 1>; +var Cs <type 1>; +var Cuneiform <type 1>; +var Cypriot <type 1>; +var Cyrillic <type 1>; +var Dash <type 1>; +var Deprecated <type 1>; +var Deseret <type 1>; +var Devanagari <type 1>; +var Diacritic <type 1>; +var Digit <type 1>; +var Duployan <type 1>; +var Egyptian_Hieroglyphs <type 1>; +var Elbasan <type 1>; +var Ethiopic <type 1>; +var Extender <type 1>; +var FoldCategory <type 18 map [<type -16>] <type 1>>; +var FoldScript <type 19 map [<type -16>] <type 1>>; +var Georgian <type 1>; +var Glagolitic <type 1>; +var Gothic <type 1>; +var Grantha <type 1>; +var GraphicRanges <type 20 [] <type 21 *<type 2>>>; +var Greek <type 1>; +var Gujarati <type 1>; +var Gurmukhi <type 1>; +var Han <type 1>; +var Hangul <type 1>; +var Hanunoo <type 1>; +var Hatran <type 1>; +var Hebrew <type 1>; +var Hex_Digit <type 1>; +var Hiragana <type 1>; +var Hyphen <type 1>; +var IDS_Binary_Operator <type 1>; +var IDS_Trinary_Operator <type 1>; +var Ideographic <type 1>; +var Imperial_Aramaic <type 1>; +func In (r <type -21>, ranges ...<type 22 *<type 2>>) <type -15>; +var Inherited <type 1>; +var Inscriptional_Pahlavi <type 1>; +var Inscriptional_Parthian <type 1>; +func Is (rangeTab <type 1>, r <type -21>) <type -15>; +func IsControl (r <type -21>) <type -15>; +func IsDigit (r <type -21>) <type -15>; +func IsGraphic (r <type -21>) <type -15>; +func IsLetter (r <type -21>) <type -15>; +func IsLower (r <type -21>) <type -15>; +func IsMark (r <type -21>) <type -15>; +func IsNumber (r <type -21>) <type -15>; +func IsOneOf (ranges <type 23 [] <type 24 *<type 2>>>, r <type -21>) <type -15>; +func IsPrint (r <type -21>) <type -15>; +func IsPunct (r <type -21>) <type -15>; +func IsSpace (r <type -21>) <type -15>; +func IsSymbol (r <type -21>) <type -15>; +func IsTitle (r <type -21>) <type -15>; +func IsUpper (r <type -21>) <type -15>; +var Javanese <type 1>; +var Join_Control <type 1>; +var Kaithi <type 1>; +var Kannada <type 1>; +var Katakana <type 1>; +var Kayah_Li <type 1>; +var Kharoshthi <type 1>; +var Khmer <type 1>; +var Khojki <type 1>; +var Khudawadi <type 1>; +var L <type 1>; +var Lao <type 1>; +var Latin <type 1>; +var Lepcha <type 1>; +var Letter <type 1>; +var Limbu <type 1>; +var Linear_A <type 1>; +var Linear_B <type 1>; +var Lisu <type 1>; +var Ll <type 1>; +var Lm <type 1>; +var Lo <type 1>; +var Logical_Order_Exception <type 1>; +var Lower <type 1>; +const LowerCase = 1 ; +var Lt <type 1>; +var Lu <type 1>; +var Lycian <type 1>; +var Lydian <type 1>; +var M <type 1>; +var Mahajani <type 1>; +var Malayalam <type 1>; +var Mandaic <type 1>; +var Manichaean <type 1>; +var Marchen <type 1>; +var Mark <type 1>; +const MaxASCII = 127' ; +const MaxCase = 3 ; +const MaxLatin1 = 255' ; +const MaxRune = 1114111' ; +var Mc <type 1>; +var Me <type 1>; +var Meetei_Mayek <type 1>; +var Mende_Kikakui <type 1>; +var Meroitic_Cursive <type 1>; +var Meroitic_Hieroglyphs <type 1>; +var Miao <type 1>; +var Mn <type 1>; +var Modi <type 1>; +var Mongolian <type 1>; +var Mro <type 1>; +var Multani <type 1>; +var Myanmar <type 1>; +var N <type 1>; +var Nabataean <type 1>; +var Nd <type 1>; +var New_Tai_Lue <type 1>; +var Newa <type 1>; +var Nko <type 1>; +var Nl <type 1>; +var No <type 1>; +var Noncharacter_Code_Point <type 1>; +var Number <type 1>; +var Ogham <type 1>; +var Ol_Chiki <type 1>; +var Old_Hungarian <type 1>; +var Old_Italic <type 1>; +var Old_North_Arabian <type 1>; +var Old_Permic <type 1>; +var Old_Persian <type 1>; +var Old_South_Arabian <type 1>; +var Old_Turkic <type 1>; +var Oriya <type 1>; +var Osage <type 1>; +var Osmanya <type 1>; +var Other <type 1>; +var Other_Alphabetic <type 1>; +var Other_Default_Ignorable_Code_Point <type 1>; +var Other_Grapheme_Extend <type 1>; +var Other_ID_Continue <type 1>; +var Other_ID_Start <type 1>; +var Other_Lowercase <type 1>; +var Other_Math <type 1>; +var Other_Uppercase <type 1>; +var P <type 1>; +var Pahawh_Hmong <type 1>; +var Palmyrene <type 1>; +var Pattern_Syntax <type 1>; +var Pattern_White_Space <type 1>; +var Pau_Cin_Hau <type 1>; +var Pc <type 1>; +var Pd <type 1>; +var Pe <type 1>; +var Pf <type 1>; +var Phags_Pa <type 1>; +var Phoenician <type 1>; +var Pi <type 1>; +var Po <type 1>; +var Prepended_Concatenation_Mark <type 1>; +var PrintRanges <type 25 [] <type 26 *<type 2>>>; +var Properties <type 27 map [<type -16>] <type 1>>; +var Ps <type 1>; +var Psalter_Pahlavi <type 1>; +var Punct <type 1>; +var Quotation_Mark <type 1>; +var Radical <type 1>; +type <type 5>; +type <type 8>; +type <type 2>; +var Rejang <type 1>; +const ReplacementChar = 65533' ; +var Runic <type 1>; +var S <type 1>; +var STerm <type 1>; +var Samaritan <type 1>; +var Saurashtra <type 1>; +var Sc <type 1>; +var Scripts <type 28 map [<type -16>] <type 1>>; +var Sentence_Terminal <type 1>; +var Sharada <type 1>; +var Shavian <type 1>; +var Siddham <type 1>; +var SignWriting <type 1>; +func SimpleFold (r <type -21>) <type -21>; +var Sinhala <type 1>; +var Sk <type 1>; +var Sm <type 1>; +var So <type 1>; +var Soft_Dotted <type 1>; +var Sora_Sompeng <type 1>; +var Space <type 1>; +type <type 10>; +var Sundanese <type 1>; +var Syloti_Nagri <type 1>; +var Symbol <type 1>; +var Syriac <type 1>; +var Tagalog <type 1>; +var Tagbanwa <type 1>; +var Tai_Le <type 1>; +var Tai_Tham <type 1>; +var Tai_Viet <type 1>; +var Takri <type 1>; +var Tamil <type 1>; +var Tangut <type 1>; +var Telugu <type 1>; +var Terminal_Punctuation <type 1>; +var Thaana <type 1>; +var Thai <type 1>; +var Tibetan <type 1>; +var Tifinagh <type 1>; +var Tirhuta <type 1>; +var Title <type 1>; +const TitleCase = 2 ; +func To (_case <type -11>, r <type -21>) <type -21>; +func ToLower (r <type -21>) <type -21>; +func ToTitle (r <type -21>) <type -21>; +func ToUpper (r <type -21>) <type -21>; +var TurkishCase <type 10>; +var Ugaritic <type 1>; +var Unified_Ideograph <type 1>; +var Upper <type 1>; +const UpperCase = 0 ; +const UpperLower = 1114112' ; +var Vai <type 1>; +var Variation_Selector <type 1>; +const Version = "9.0.0"; +var Warang_Citi <type 1>; +var White_Space <type 1>; +var Yi <type 1>; +var Z <type 1>; +var Zl <type 1>; +var Zp <type 1>; +var Zs <type 1>; +checksum 7643975C0BE2732C7557F1B2A70796673C11DF4A; diff --git a/src/go/internal/gccgoimporter/testdata/v1reflect.gox b/src/go/internal/gccgoimporter/testdata/v1reflect.gox new file mode 100644 index 0000000..d693fe6 --- /dev/null +++ b/src/go/internal/gccgoimporter/testdata/v1reflect.gox @@ -0,0 +1,184 @@ +v1; +package reflect; +pkgpath reflect; +priority 3; +import math math "math"; +import runtime runtime "runtime"; +import strconv strconv "strconv"; +import sync sync "sync"; +import unsafe unsafe "unsafe"; +init reflect reflect..import 3 math math..import 1 runtime runtime..import 1 strconv strconv..import 2; +func Append (s <type 1 "Value" <type 2 struct { .reflect.typ <type 3 *<type 4 ".reflect.commonType" <type 5 struct { .reflect.kind <type -5>; .reflect.align <type -1>; .reflect.fieldAlign <type -5>; .reflect._ <type -5>; .reflect.size <type -13>; .reflect.hash <type -7>; .reflect.hashfn <type 6 (? <type 7 "unsafe.Pointer" <type 8 *any>>, ? <type -13>)>; .reflect.equalfn <type 9 (? <type 7>, ? <type 7>, ? <type -13>)>; .reflect.string <type 10 *<type -16>>; ? <type 11 *<type 12 ".reflect.uncommonType" <type 13 struct { .reflect.name <type 14 *<type -16>>; .reflect.pkgPath <type 15 *<type -16>>; .reflect.methods <type 16 [] <type 17 ".reflect.method" <type 18 struct { .reflect.name <type 19 *<type -16>>; .reflect.pkgPath <type 20 *<type -16>>; .reflect.mtyp <type 21 *<type 22 ".reflect.runtimeType" <type 4>>>; .reflect.typ <type 21>; .reflect.tfn <type 7>; }>>>; }> + func (t <type 23 *<type 12>>) .reflect.uncommon () <type 23>; + func (t <type 23>) PkgPath () <type -16>; + func (t <type 23>) Name () <type -16>; + func (t <type 23>) Method (i <type -11>) (m <type 24 "Method" <type 25 struct { Name <type -16>; PkgPath <type -16>; Type <type 26 "Type" <type 27 interface { Align () <type -11>; FieldAlign () <type -11>; Method (? <type -11>) <type 24>; MethodByName (? <type -16>) (? <type 24>, ? <type -15>); NumMethod () <type -11>; Name () <type -16>; PkgPath () <type -16>; Size () <type -13>; String () <type -16>; .reflect.rawString () <type -16>; Kind () <type 28 "Kind" <type -12> + func (k <type 28>) String () <type -16>; +>; Implements (u <type 26>) <type -15>; AssignableTo (u <type 26>) <type -15>; Bits () <type -11>; ChanDir () <type 29 "ChanDir" <type -11> + func (d <type 29>) String () <type -16>; +>; IsVariadic () <type -15>; Elem () <type 26>; Field (i <type -11>) <type 30 "StructField" <type 31 struct { Name <type -16>; PkgPath <type -16>; Type <type 26>; Tag <type 32 "StructTag" <type -16> + func (tag <type 32>) Get (key <type -16>) <type -16>; +>; Offset <type -13>; Index <type 33 [] <type -11>>; Anonymous <type -15>; }>>; FieldByIndex (index <type 34 [] <type -11>>) <type 30>; FieldByName (name <type -16>) (? <type 30>, ? <type -15>); FieldByNameFunc (match <type 35 (? <type -16>) <type -15>>) (? <type 30>, ? <type -15>); In (i <type -11>) <type 26>; Key () <type 26>; Len () <type -11>; NumField () <type -11>; NumIn () <type -11>; NumOut () <type -11>; Out (i <type -11>) <type 26>; .reflect.runtimeType () <type 36 *<type 22>>; .reflect.common () <type 37 *<type 4>>; .reflect.uncommon () <type 38 *<type 12>>; }>>; Func <type 1>; Index <type -11>; }>>); + func (t <type 23>) NumMethod () <type -11>; + func (t <type 23>) MethodByName (name <type -16>) (m <type 24>, ok <type -15>); +>>; .reflect.ptrToThis <type 21>; }> + func (t <type 39 *<type 4>>) .reflect.toType () <type 26>; + func (t <type 39>) .reflect.rawString () <type -16>; + func (t <type 39>) String () <type -16>; + func (t <type 39>) Size () <type -13>; + func (t <type 39>) Bits () <type -11>; + func (t <type 39>) Align () <type -11>; + func (t <type 39>) FieldAlign () <type -11>; + func (t <type 39>) Kind () <type 28>; + func (t <type 39>) .reflect.common () <type 39>; + func (t <type 39>) NumMethod () <type -11>; + func (t <type 39>) Method (i <type -11>) (m <type 24>); + func (t <type 39>) MethodByName (name <type -16>) (m <type 24>, ok <type -15>); + func (t <type 39>) PkgPath () <type -16>; + func (t <type 39>) Name () <type -16>; + func (t <type 39>) ChanDir () <type 29>; + func (t <type 39>) IsVariadic () <type -15>; + func (t <type 39>) Elem () <type 26>; + func (t <type 39>) Field (i <type -11>) <type 30>; + func (t <type 39>) FieldByIndex (index <type 40 [] <type -11>>) <type 30>; + func (t <type 39>) FieldByName (name <type -16>) (? <type 30>, ? <type -15>); + func (t <type 39>) FieldByNameFunc (match <type 41 (? <type -16>) <type -15>>) (? <type 30>, ? <type -15>); + func (t <type 39>) In (i <type -11>) <type 26>; + func (t <type 39>) Key () <type 26>; + func (t <type 39>) Len () <type -11>; + func (t <type 39>) NumField () <type -11>; + func (t <type 39>) NumIn () <type -11>; + func (t <type 39>) NumOut () <type -11>; + func (t <type 39>) Out (i <type -11>) <type 26>; + func (t <type 39>) .reflect.runtimeType () <type 21>; + func (ct <type 39>) .reflect.ptrTo () <type 39>; + func (t <type 39>) Implements (u <type 26>) <type -15>; + func (t <type 39>) AssignableTo (u <type 26>) <type -15>; +>>; .reflect.val <type 7>; ? <type 42 ".reflect.flag" <type -13> + func (f <type 42>) .reflect.kind () <type 28>; + func (f <type 42>) .reflect.mustBe (expected <type 28>); + func (f <type 42>) .reflect.mustBeExported (); + func (f <type 42>) .reflect.mustBeAssignable (); +>; }> + func (v <type 1>) .reflect.iword () <type 43 ".reflect.iword" <type 7>>; + func (v <type 1>) Addr () <type 1>; + func (v <type 1>) Bool () <type -15>; + func (v <type 1>) Bytes () <type 44 [] <type -20>>; + func (v <type 1>) CanAddr () <type -15>; + func (v <type 1>) CanSet () <type -15>; + func (v <type 1>) Call (in <type 45 [] <type 1>>) <type 46 [] <type 1>>; + func (v <type 1>) CallSlice (in <type 47 [] <type 1>>) <type 48 [] <type 1>>; + func (v <type 1>) .reflect.call (method <type -16>, in <type 49 [] <type 1>>) <type 50 [] <type 1>>; + func (v <type 1>) Cap () <type -11>; + func (v <type 1>) Close (); + func (v <type 1>) Complex () <type -18>; + func (v <type 1>) Elem () <type 1>; + func (v <type 1>) Field (i <type -11>) <type 1>; + func (v <type 1>) FieldByIndex (index <type 51 [] <type -11>>) <type 1>; + func (v <type 1>) FieldByName (name <type -16>) <type 1>; + func (v <type 1>) FieldByNameFunc (match <type 52 (? <type -16>) <type -15>>) <type 1>; + func (v <type 1>) Float () <type -10>; + func (v <type 1>) Index (i <type -11>) <type 1>; + func (v <type 1>) Int () <type -4>; + func (v <type 1>) CanInterface () <type -15>; + func (v <type 1>) Interface () (i <type 53 interface { }>); + func (v <type 1>) InterfaceData () <type 54 [2 ] <type -13>>; + func (v <type 1>) IsNil () <type -15>; + func (v <type 1>) IsValid () <type -15>; + func (v <type 1>) Kind () <type 28>; + func (v <type 1>) Len () <type -11>; + func (v <type 1>) MapIndex (key <type 1>) <type 1>; + func (v <type 1>) MapKeys () <type 55 [] <type 1>>; + func (v <type 1>) Method (i <type -11>) <type 1>; + func (v <type 1>) NumMethod () <type -11>; + func (v <type 1>) MethodByName (name <type -16>) <type 1>; + func (v <type 1>) NumField () <type -11>; + func (v <type 1>) OverflowComplex (x <type -18>) <type -15>; + func (v <type 1>) OverflowFloat (x <type -10>) <type -15>; + func (v <type 1>) OverflowInt (x <type -4>) <type -15>; + func (v <type 1>) OverflowUint (x <type -8>) <type -15>; + func (v <type 1>) Pointer () <type -13>; + func (v <type 1>) Recv () (x <type 1>, ok <type -15>); + func (v <type 1>) .reflect.recv (nb <type -15>) (val <type 1>, ok <type -15>); + func (v <type 1>) Send (x <type 1>); + func (v <type 1>) .reflect.send (x <type 1>, nb <type -15>) (selected <type -15>); + func (v <type 1>) Set (x <type 1>); + func (v <type 1>) SetBool (x <type -15>); + func (v <type 1>) SetBytes (x <type 56 [] <type -20>>); + func (v <type 1>) SetComplex (x <type -18>); + func (v <type 1>) SetFloat (x <type -10>); + func (v <type 1>) SetInt (x <type -4>); + func (v <type 1>) SetLen (n <type -11>); + func (v <type 1>) SetMapIndex (key <type 1>, val <type 1>); + func (v <type 1>) SetUint (x <type -8>); + func (v <type 1>) SetPointer (x <type 7>); + func (v <type 1>) SetString (x <type -16>); + func (v <type 1>) Slice (beg <type -11>, end <type -11>) <type 1>; + func (v <type 1>) String () <type -16>; + func (v <type 1>) TryRecv () (x <type 1>, ok <type -15>); + func (v <type 1>) TrySend (x <type 1>) <type -15>; + func (v <type 1>) Type () <type 26>; + func (v <type 1>) Uint () <type -8>; + func (v <type 1>) UnsafeAddr () <type -13>; + func (v <type 1>) .reflect.assignTo (context <type -16>, dst <type 3>, target <type 57 *<type 58 interface { }>>) <type 1>; +>, x ...<type 1>) <type 1>; +func AppendSlice (s <type 1>, t <type 1>) <type 1>; +const Array <type 28> = 17 ; +const Bool <type 28> = 1 ; +const BothDir <type 29> = 3 ; +const Chan <type 28> = 18 ; +type <type 29>; +const Complex128 <type 28> = 16 ; +const Complex64 <type 28> = 15 ; +func Copy (dst <type 1>, src <type 1>) <type -11>; +func DeepEqual (a1 <type 59 interface { }>, a2 <type 59>) <type -15>; +const Float32 <type 28> = 13 ; +const Float64 <type 28> = 14 ; +const Func <type 28> = 19 ; +func Indirect (v <type 1>) <type 1>; +const Int <type 28> = 2 ; +const Int16 <type 28> = 4 ; +const Int32 <type 28> = 5 ; +const Int64 <type 28> = 6 ; +const Int8 <type 28> = 3 ; +const Interface <type 28> = 20 ; +const Invalid <type 28> = 0 ; +type <type 28>; +func MakeChan (typ <type 26>, buffer <type -11>) <type 1>; +func MakeMap (typ <type 26>) <type 1>; +func MakeSlice (typ <type 26>, len <type -11>, cap <type -11>) <type 1>; +const Map <type 28> = 21 ; +type <type 24>; +func Method$equal (key1 <type 8>, key2 <type 8>, key_size <type -13>) <type -15>; +func Method$hash (key <type 8>, key_size <type -13>) <type -13>; +func New (typ <type 26>) <type 1>; +func NewAt (typ <type 26>, p <type 7>) <type 1>; +const Ptr <type 28> = 22 ; +func PtrTo (t <type 26>) <type 26>; +const RecvDir <type 29> = 1 ; +const SendDir <type 29> = 2 ; +const Slice <type 28> = 23 ; +type <type 60 "SliceHeader" <type 61 struct { Data <type -13>; Len <type -11>; Cap <type -11>; }>>; +const String <type 28> = 24 ; +type <type 62 "StringHeader" <type 63 struct { Data <type -13>; Len <type -11>; }>>; +const Struct <type 28> = 25 ; +type <type 30>; +type <type 32>; +type <type 26>; +func TypeOf (i <type 64 interface { }>) <type 26>; +const Uint <type 28> = 7 ; +const Uint16 <type 28> = 9 ; +const Uint32 <type 28> = 10 ; +const Uint64 <type 28> = 11 ; +const Uint8 <type 28> = 8 ; +const Uintptr <type 28> = 12 ; +const UnsafePointer <type 28> = 26 ; +type <type 1>; +type <type 65 "ValueError" <type 66 struct { Method <type -16>; Kind <type 28>; }> + func (e <type 67 *<type 65>>) Error () <type -16>; +>; +func ValueError$equal (key1 <type 8>, key2 <type 8>, key_size <type -13>) <type -15>; +func ValueError$hash (key <type 8>, key_size <type -13>) <type -13>; +func ValueOf (i <type 68 interface { }>) <type 1>; +func Zero (typ <type 26>) <type 1>; +checksum DD7720796E91D9D24ED12B75BDEA2A714D47B095; |