Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 1 | // Copyright 2011 The Go Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
| 5 | // This file is used to generate an object file which |
| 6 | // serves as test file for gcimporter_test.go. |
| 7 | |
| 8 | package exports |
| 9 | |
Dan Willemsen | ebae302 | 2017-01-13 23:01:08 -0800 | [diff] [blame] | 10 | import "go/ast" |
Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 11 | |
| 12 | // Issue 3682: Correctly read dotted identifiers from export data. |
| 13 | const init1 = 0 |
| 14 | |
| 15 | func init() {} |
| 16 | |
| 17 | const ( |
Dan Willemsen | bc60c3c | 2021-12-15 01:09:00 -0800 | [diff] [blame] | 18 | C0 int = 0 |
| 19 | C1 = 3.14159265 |
| 20 | C2 = 2.718281828i |
| 21 | C3 = -123.456e-789 |
| 22 | C4 = +123.456e+789 |
| 23 | C5 = 1234i |
| 24 | C6 = "foo\n" |
| 25 | C7 = `bar\n` |
| 26 | C8 = 42 |
| 27 | C9 int = 42 |
| 28 | C10 float64 = 42 |
Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 29 | ) |
| 30 | |
| 31 | type ( |
| 32 | T1 int |
| 33 | T2 [10]int |
| 34 | T3 []int |
| 35 | T4 *int |
| 36 | T5 chan int |
| 37 | T6a chan<- int |
| 38 | T6b chan (<-chan int) |
| 39 | T6c chan<- (chan int) |
| 40 | T7 <-chan *ast.File |
| 41 | T8 struct{} |
| 42 | T9 struct { |
| 43 | a int |
| 44 | b, c float32 |
| 45 | d []string `go:"tag"` |
| 46 | } |
| 47 | T10 struct { |
| 48 | T8 |
| 49 | T9 |
| 50 | _ *T10 |
| 51 | } |
| 52 | T11 map[int]string |
Dan Willemsen | bc60c3c | 2021-12-15 01:09:00 -0800 | [diff] [blame] | 53 | T12 any |
Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 54 | T13 interface { |
| 55 | m1() |
| 56 | m2(int) float32 |
| 57 | } |
| 58 | T14 interface { |
| 59 | T12 |
| 60 | T13 |
| 61 | m3(x ...struct{}) []T9 |
| 62 | } |
| 63 | T15 func() |
| 64 | T16 func(int) |
| 65 | T17 func(x int) |
| 66 | T18 func() float32 |
| 67 | T19 func() (x float32) |
Dan Willemsen | bc60c3c | 2021-12-15 01:09:00 -0800 | [diff] [blame] | 68 | T20 func(...any) |
Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 69 | T21 struct{ next *T21 } |
| 70 | T22 struct{ link *T23 } |
| 71 | T23 struct{ link *T22 } |
| 72 | T24 *T24 |
| 73 | T25 *T26 |
| 74 | T26 *T27 |
| 75 | T27 *T25 |
| 76 | T28 func(T28) T28 |
| 77 | ) |
| 78 | |
| 79 | var ( |
| 80 | V0 int |
Dan Willemsen | ebae302 | 2017-01-13 23:01:08 -0800 | [diff] [blame] | 81 | V1 = -991.0 |
| 82 | V2 float32 = 1.2 |
Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 83 | ) |
| 84 | |
| 85 | func F1() {} |
| 86 | func F2(x int) {} |
| 87 | func F3() int { return 0 } |
| 88 | func F4() float32 { return 0 } |
Dan Willemsen | bc60c3c | 2021-12-15 01:09:00 -0800 | [diff] [blame] | 89 | func F5(a, b, c int, u, v, w struct{ x, y T1 }, more ...any) (p, q, r chan<- T10) |
Dan Willemsen | 09eb3b1 | 2015-09-16 14:34:17 -0700 | [diff] [blame] | 90 | |
| 91 | func (p *T1) M1() |