| A module used for testing the symbols logic. |
| |
| -- go.mod -- |
| module example.com/symbols |
| |
| -- README.md -- |
| This is the README for a test module. |
| |
| -- LICENSE -- |
| $MITLicense |
| |
| -- symbols.go -- |
| package symbols |
| |
| // const |
| const C = 1 |
| |
| // const iota |
| const ( |
| AA = iota + 1 |
| _ |
| BB |
| CC |
| ) |
| |
| type Num int |
| |
| const ( |
| DD Num = iota |
| _ |
| EE |
| FF |
| ) |
| |
| // var |
| var V = 2 |
| |
| // Multiple variables on the same line. |
| var A, B string |
| |
| // func |
| func F() {} |
| |
| // type |
| type T int |
| |
| // typeConstant |
| const CT T = 3 |
| |
| // typeVariable |
| var VT T |
| |
| // multi-line var |
| var ( |
| ErrA = errors.New("error A") |
| ErrB = errors.New("error B") |
| ) |
| |
| // typeFunc |
| func TF() T { return T(0) } |
| |
| // method |
| // BUG(uid): this verifies that notes are rendered |
| func (T) M() {} |
| |
| type S1 struct { |
| F int // field |
| } |
| |
| type S2 struct { |
| S1 // embedded struct; should have an id |
| G int |
| } |
| |
| type I1 interface { |
| M1() |
| } |
| |
| type I2 interface { |
| I1 // embedded interface; should not have an id |
| M2() |
| } |
| |
| type ( |
| Int int |
| String bool |
| ) |
| |
| -- hello/hello.go -- |
| package hello |
| |
| // Hello returns a greeting. |
| func Hello() string { |
| return "Hello" |
| } |
| |
| -- hello/hello_js.go -- |
| // +build js,wasm |
| |
| package hello |
| |
| // HelloJS returns a greeting when the build context is js/wasm. |
| func HelloJS() string { |
| return "Hello" |
| } |
| |
| -- multigoos/multigoos_windows.go -- |
| // +build windows |
| |
| package multigoos |
| |
| func CloseOnExec(foo string) error { |
| return nil |
| } |
| |
| type FD struct {} |
| |
| // FD was introduced in v1.1.0 for linux, darwin and windows. |
| // MyWindowsMethod is introduced only for windows in this version. |
| func (*FD) MyWindowsMethod() { |
| } |
| |
| -- multigoos/multigoos_unix.go -- |
| // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris |
| |
| package multigoos |
| |
| func CloseOnExec(num int) (int, error) { |
| return num, nil |
| } |
| |
| type FD struct {} |
| |
| // FD was introduced in v1.1.0 for linux, darwin and windows. |
| // MyMethod is introduced only for darwin and linux in this version. |
| func (*FD) MyMethod() { |
| } |
| |
| -- multigoos/multigoos_js.go -- |
| // +build js,wasm |
| |
| package multigoos |
| |
| func CloseOnExec(n int) { |
| } |
| |
| -- duplicate/duplicate.go -- |
| // +build linux darwin |
| |
| package duplicate |
| |
| type TokenType int |
| |
| // Token types. |
| const ( |
| TokenShort TokenType = iota |
| ) |
| |
| -- duplicate/duplicate_windows.go -- |
| // +build windows |
| |
| package duplicate |
| |
| // Constant here, type for JS, linux and darwin. |
| const TokenType = 3 |
| |
| -- duplicate/duplicate_js.go -- |
| // +build js |
| |
| package duplicate |
| |
| // Exported here, unexported in v1.1.0. |
| type TokenType struct { |
| } |
| |
| func TokenShort() TokenType { return &TokenType{} } |