1
2
3 package typecheck
4
5 import (
6 "cmd/compile/internal/types"
7 "cmd/internal/src"
8 )
9
10
11
12
13 func newSig(params, results []*types.Field) *types.Type {
14 return types.NewSignature(nil, params, results)
15 }
16
17 func params(tlist ...*types.Type) []*types.Field {
18 flist := make([]*types.Field, len(tlist))
19 for i, typ := range tlist {
20 flist[i] = types.NewField(src.NoXPos, nil, typ)
21 }
22 return flist
23 }
24
25 var runtimeDecls = [...]struct {
26 name string
27 tag int
28 typ int
29 }{
30 {"newobject", funcTag, 4},
31 {"mallocgc", funcTag, 8},
32 {"panicdivide", funcTag, 9},
33 {"panicshift", funcTag, 9},
34 {"panicmakeslicelen", funcTag, 9},
35 {"panicmakeslicecap", funcTag, 9},
36 {"throwinit", funcTag, 9},
37 {"panicwrap", funcTag, 9},
38 {"gopanic", funcTag, 11},
39 {"gorecover", funcTag, 12},
40 {"goschedguarded", funcTag, 9},
41 {"goPanicIndex", funcTag, 14},
42 {"goPanicIndexU", funcTag, 16},
43 {"goPanicSliceAlen", funcTag, 14},
44 {"goPanicSliceAlenU", funcTag, 16},
45 {"goPanicSliceAcap", funcTag, 14},
46 {"goPanicSliceAcapU", funcTag, 16},
47 {"goPanicSliceB", funcTag, 14},
48 {"goPanicSliceBU", funcTag, 16},
49 {"goPanicSlice3Alen", funcTag, 14},
50 {"goPanicSlice3AlenU", funcTag, 16},
51 {"goPanicSlice3Acap", funcTag, 14},
52 {"goPanicSlice3AcapU", funcTag, 16},
53 {"goPanicSlice3B", funcTag, 14},
54 {"goPanicSlice3BU", funcTag, 16},
55 {"goPanicSlice3C", funcTag, 14},
56 {"goPanicSlice3CU", funcTag, 16},
57 {"goPanicSliceConvert", funcTag, 14},
58 {"printbool", funcTag, 17},
59 {"printfloat64", funcTag, 19},
60 {"printfloat32", funcTag, 21},
61 {"printint", funcTag, 23},
62 {"printhex", funcTag, 25},
63 {"printuint", funcTag, 25},
64 {"printcomplex128", funcTag, 27},
65 {"printcomplex64", funcTag, 29},
66 {"printstring", funcTag, 31},
67 {"printquoted", funcTag, 31},
68 {"printpointer", funcTag, 32},
69 {"printuintptr", funcTag, 33},
70 {"printiface", funcTag, 32},
71 {"printeface", funcTag, 32},
72 {"printslice", funcTag, 32},
73 {"printnl", funcTag, 9},
74 {"printsp", funcTag, 9},
75 {"printlock", funcTag, 9},
76 {"printunlock", funcTag, 9},
77 {"concatstring2", funcTag, 36},
78 {"concatstring3", funcTag, 37},
79 {"concatstring4", funcTag, 38},
80 {"concatstring5", funcTag, 39},
81 {"concatstrings", funcTag, 41},
82 {"concatbyte2", funcTag, 43},
83 {"concatbyte3", funcTag, 44},
84 {"concatbyte4", funcTag, 45},
85 {"concatbyte5", funcTag, 46},
86 {"concatbytes", funcTag, 47},
87 {"cmpstring", funcTag, 48},
88 {"intstring", funcTag, 51},
89 {"slicebytetostring", funcTag, 52},
90 {"slicebytetostringtmp", funcTag, 53},
91 {"slicerunetostring", funcTag, 56},
92 {"stringtoslicebyte", funcTag, 57},
93 {"stringtoslicerune", funcTag, 60},
94 {"slicecopy", funcTag, 61},
95 {"decoderune", funcTag, 62},
96 {"countrunes", funcTag, 63},
97 {"convT", funcTag, 64},
98 {"convTnoptr", funcTag, 64},
99 {"convT16", funcTag, 66},
100 {"convT32", funcTag, 68},
101 {"convT64", funcTag, 69},
102 {"convTstring", funcTag, 70},
103 {"convTslice", funcTag, 73},
104 {"assertE2I", funcTag, 74},
105 {"assertE2I2", funcTag, 74},
106 {"panicdottypeE", funcTag, 75},
107 {"panicdottypeI", funcTag, 75},
108 {"panicnildottype", funcTag, 76},
109 {"typeAssert", funcTag, 74},
110 {"interfaceSwitch", funcTag, 77},
111 {"ifaceeq", funcTag, 79},
112 {"efaceeq", funcTag, 79},
113 {"panicrangestate", funcTag, 80},
114 {"deferrangefunc", funcTag, 12},
115 {"rand", funcTag, 81},
116 {"rand32", funcTag, 82},
117 {"makemap64", funcTag, 84},
118 {"makemap", funcTag, 85},
119 {"makemap_small", funcTag, 86},
120 {"mapaccess1", funcTag, 87},
121 {"mapaccess1_fast32", funcTag, 88},
122 {"mapaccess1_fast64", funcTag, 89},
123 {"mapaccess1_faststr", funcTag, 90},
124 {"mapaccess1_fat", funcTag, 91},
125 {"mapaccess2", funcTag, 92},
126 {"mapaccess2_fast32", funcTag, 93},
127 {"mapaccess2_fast64", funcTag, 94},
128 {"mapaccess2_faststr", funcTag, 95},
129 {"mapaccess2_fat", funcTag, 96},
130 {"mapassign", funcTag, 87},
131 {"mapassign_fast32", funcTag, 88},
132 {"mapassign_fast32ptr", funcTag, 97},
133 {"mapassign_fast64", funcTag, 89},
134 {"mapassign_fast64ptr", funcTag, 97},
135 {"mapassign_faststr", funcTag, 90},
136 {"mapIterStart", funcTag, 98},
137 {"mapdelete", funcTag, 98},
138 {"mapdelete_fast32", funcTag, 99},
139 {"mapdelete_fast64", funcTag, 100},
140 {"mapdelete_faststr", funcTag, 101},
141 {"mapIterNext", funcTag, 102},
142 {"mapclear", funcTag, 103},
143 {"makechan64", funcTag, 105},
144 {"makechan", funcTag, 106},
145 {"chanrecv1", funcTag, 108},
146 {"chanrecv2", funcTag, 109},
147 {"chansend1", funcTag, 111},
148 {"closechan", funcTag, 112},
149 {"chanlen", funcTag, 113},
150 {"chancap", funcTag, 113},
151 {"writeBarrier", varTag, 115},
152 {"typedmemmove", funcTag, 116},
153 {"typedmemclr", funcTag, 117},
154 {"typedslicecopy", funcTag, 118},
155 {"selectnbsend", funcTag, 119},
156 {"selectnbrecv", funcTag, 120},
157 {"selectsetpc", funcTag, 121},
158 {"selectgo", funcTag, 122},
159 {"block", funcTag, 9},
160 {"makeslice", funcTag, 123},
161 {"makeslice64", funcTag, 124},
162 {"makeslicecopy", funcTag, 125},
163 {"growslice", funcTag, 127},
164 {"growsliceBuf", funcTag, 128},
165 {"growsliceBufNoAlias", funcTag, 128},
166 {"growsliceNoAlias", funcTag, 127},
167 {"unsafeslicecheckptr", funcTag, 129},
168 {"panicunsafeslicelen", funcTag, 9},
169 {"panicunsafeslicenilptr", funcTag, 9},
170 {"unsafestringcheckptr", funcTag, 130},
171 {"panicunsafestringlen", funcTag, 9},
172 {"panicunsafestringnilptr", funcTag, 9},
173 {"moveSlice", funcTag, 131},
174 {"moveSliceNoScan", funcTag, 132},
175 {"moveSliceNoCap", funcTag, 133},
176 {"moveSliceNoCapNoScan", funcTag, 134},
177 {"memmove", funcTag, 135},
178 {"memclrNoHeapPointers", funcTag, 136},
179 {"memclrHasPointers", funcTag, 136},
180 {"memequal", funcTag, 137},
181 {"memequal0", funcTag, 138},
182 {"memequal8", funcTag, 138},
183 {"memequal16", funcTag, 138},
184 {"memequal32", funcTag, 138},
185 {"memequal64", funcTag, 138},
186 {"memequal128", funcTag, 138},
187 {"f32equal", funcTag, 139},
188 {"f64equal", funcTag, 139},
189 {"c64equal", funcTag, 139},
190 {"c128equal", funcTag, 139},
191 {"strequal", funcTag, 139},
192 {"interequal", funcTag, 139},
193 {"nilinterequal", funcTag, 139},
194 {"memhash", funcTag, 140},
195 {"memhash0", funcTag, 141},
196 {"memhash8", funcTag, 141},
197 {"memhash16", funcTag, 141},
198 {"memhash32", funcTag, 141},
199 {"memhash64", funcTag, 141},
200 {"memhash128", funcTag, 141},
201 {"f32hash", funcTag, 142},
202 {"f64hash", funcTag, 142},
203 {"c64hash", funcTag, 142},
204 {"c128hash", funcTag, 142},
205 {"strhash", funcTag, 142},
206 {"interhash", funcTag, 142},
207 {"nilinterhash", funcTag, 142},
208 {"int64div", funcTag, 143},
209 {"uint64div", funcTag, 144},
210 {"int64mod", funcTag, 143},
211 {"uint64mod", funcTag, 144},
212 {"float64toint64", funcTag, 145},
213 {"float64touint64", funcTag, 146},
214 {"float64touint32", funcTag, 147},
215 {"int64tofloat64", funcTag, 148},
216 {"int64tofloat32", funcTag, 149},
217 {"uint64tofloat64", funcTag, 150},
218 {"uint64tofloat32", funcTag, 151},
219 {"uint32tofloat64", funcTag, 152},
220 {"complex128div", funcTag, 153},
221 {"racefuncenter", funcTag, 33},
222 {"racefuncexit", funcTag, 9},
223 {"raceread", funcTag, 33},
224 {"racewrite", funcTag, 33},
225 {"racereadrange", funcTag, 154},
226 {"racewriterange", funcTag, 154},
227 {"msanread", funcTag, 154},
228 {"msanwrite", funcTag, 154},
229 {"msanmove", funcTag, 155},
230 {"asanread", funcTag, 154},
231 {"asanwrite", funcTag, 154},
232 {"checkptrAlignment", funcTag, 156},
233 {"checkptrArithmetic", funcTag, 158},
234 {"libfuzzerTraceCmp1", funcTag, 159},
235 {"libfuzzerTraceCmp2", funcTag, 160},
236 {"libfuzzerTraceCmp4", funcTag, 161},
237 {"libfuzzerTraceCmp8", funcTag, 162},
238 {"libfuzzerTraceConstCmp1", funcTag, 159},
239 {"libfuzzerTraceConstCmp2", funcTag, 160},
240 {"libfuzzerTraceConstCmp4", funcTag, 161},
241 {"libfuzzerTraceConstCmp8", funcTag, 162},
242 {"libfuzzerHookStrCmp", funcTag, 163},
243 {"libfuzzerHookEqualFold", funcTag, 163},
244 {"addCovMeta", funcTag, 165},
245 {"x86HasAVX", varTag, 6},
246 {"x86HasFMA", varTag, 6},
247 {"x86HasPOPCNT", varTag, 6},
248 {"x86HasSSE41", varTag, 6},
249 {"armHasVFPv4", varTag, 6},
250 {"arm64HasATOMICS", varTag, 6},
251 {"loong64HasLAMCAS", varTag, 6},
252 {"loong64HasLAM_BH", varTag, 6},
253 {"loong64HasLSX", varTag, 6},
254 {"riscv64HasZbb", varTag, 6},
255 {"asanregisterglobals", funcTag, 136},
256 {"KeepAlive", funcTag, 11},
257 }
258
259 func runtimeTypes() []*types.Type {
260 var typs [166]*types.Type
261 typs[0] = types.ByteType
262 typs[1] = types.NewPtr(typs[0])
263 typs[2] = types.Types[types.TANY]
264 typs[3] = types.NewPtr(typs[2])
265 typs[4] = newSig(params(typs[1]), params(typs[3]))
266 typs[5] = types.Types[types.TUINTPTR]
267 typs[6] = types.Types[types.TBOOL]
268 typs[7] = types.Types[types.TUNSAFEPTR]
269 typs[8] = newSig(params(typs[5], typs[1], typs[6]), params(typs[7]))
270 typs[9] = newSig(nil, nil)
271 typs[10] = types.Types[types.TINTER]
272 typs[11] = newSig(params(typs[10]), nil)
273 typs[12] = newSig(nil, params(typs[10]))
274 typs[13] = types.Types[types.TINT]
275 typs[14] = newSig(params(typs[13], typs[13]), nil)
276 typs[15] = types.Types[types.TUINT]
277 typs[16] = newSig(params(typs[15], typs[13]), nil)
278 typs[17] = newSig(params(typs[6]), nil)
279 typs[18] = types.Types[types.TFLOAT64]
280 typs[19] = newSig(params(typs[18]), nil)
281 typs[20] = types.Types[types.TFLOAT32]
282 typs[21] = newSig(params(typs[20]), nil)
283 typs[22] = types.Types[types.TINT64]
284 typs[23] = newSig(params(typs[22]), nil)
285 typs[24] = types.Types[types.TUINT64]
286 typs[25] = newSig(params(typs[24]), nil)
287 typs[26] = types.Types[types.TCOMPLEX128]
288 typs[27] = newSig(params(typs[26]), nil)
289 typs[28] = types.Types[types.TCOMPLEX64]
290 typs[29] = newSig(params(typs[28]), nil)
291 typs[30] = types.Types[types.TSTRING]
292 typs[31] = newSig(params(typs[30]), nil)
293 typs[32] = newSig(params(typs[2]), nil)
294 typs[33] = newSig(params(typs[5]), nil)
295 typs[34] = types.NewArray(typs[0], 32)
296 typs[35] = types.NewPtr(typs[34])
297 typs[36] = newSig(params(typs[35], typs[30], typs[30]), params(typs[30]))
298 typs[37] = newSig(params(typs[35], typs[30], typs[30], typs[30]), params(typs[30]))
299 typs[38] = newSig(params(typs[35], typs[30], typs[30], typs[30], typs[30]), params(typs[30]))
300 typs[39] = newSig(params(typs[35], typs[30], typs[30], typs[30], typs[30], typs[30]), params(typs[30]))
301 typs[40] = types.NewSlice(typs[30])
302 typs[41] = newSig(params(typs[35], typs[40]), params(typs[30]))
303 typs[42] = types.NewSlice(typs[0])
304 typs[43] = newSig(params(typs[35], typs[30], typs[30]), params(typs[42]))
305 typs[44] = newSig(params(typs[35], typs[30], typs[30], typs[30]), params(typs[42]))
306 typs[45] = newSig(params(typs[35], typs[30], typs[30], typs[30], typs[30]), params(typs[42]))
307 typs[46] = newSig(params(typs[35], typs[30], typs[30], typs[30], typs[30], typs[30]), params(typs[42]))
308 typs[47] = newSig(params(typs[35], typs[40]), params(typs[42]))
309 typs[48] = newSig(params(typs[30], typs[30]), params(typs[13]))
310 typs[49] = types.NewArray(typs[0], 4)
311 typs[50] = types.NewPtr(typs[49])
312 typs[51] = newSig(params(typs[50], typs[22]), params(typs[30]))
313 typs[52] = newSig(params(typs[35], typs[1], typs[13]), params(typs[30]))
314 typs[53] = newSig(params(typs[1], typs[13]), params(typs[30]))
315 typs[54] = types.RuneType
316 typs[55] = types.NewSlice(typs[54])
317 typs[56] = newSig(params(typs[35], typs[55]), params(typs[30]))
318 typs[57] = newSig(params(typs[35], typs[30]), params(typs[42]))
319 typs[58] = types.NewArray(typs[54], 32)
320 typs[59] = types.NewPtr(typs[58])
321 typs[60] = newSig(params(typs[59], typs[30]), params(typs[55]))
322 typs[61] = newSig(params(typs[3], typs[13], typs[3], typs[13], typs[5]), params(typs[13]))
323 typs[62] = newSig(params(typs[30], typs[13]), params(typs[54], typs[13]))
324 typs[63] = newSig(params(typs[30]), params(typs[13]))
325 typs[64] = newSig(params(typs[1], typs[3]), params(typs[7]))
326 typs[65] = types.Types[types.TUINT16]
327 typs[66] = newSig(params(typs[65]), params(typs[7]))
328 typs[67] = types.Types[types.TUINT32]
329 typs[68] = newSig(params(typs[67]), params(typs[7]))
330 typs[69] = newSig(params(typs[24]), params(typs[7]))
331 typs[70] = newSig(params(typs[30]), params(typs[7]))
332 typs[71] = types.Types[types.TUINT8]
333 typs[72] = types.NewSlice(typs[71])
334 typs[73] = newSig(params(typs[72]), params(typs[7]))
335 typs[74] = newSig(params(typs[1], typs[1]), params(typs[1]))
336 typs[75] = newSig(params(typs[1], typs[1], typs[1]), nil)
337 typs[76] = newSig(params(typs[1]), nil)
338 typs[77] = newSig(params(typs[1], typs[1]), params(typs[13], typs[1]))
339 typs[78] = types.NewPtr(typs[5])
340 typs[79] = newSig(params(typs[78], typs[7], typs[7]), params(typs[6]))
341 typs[80] = newSig(params(typs[13]), nil)
342 typs[81] = newSig(nil, params(typs[24]))
343 typs[82] = newSig(nil, params(typs[67]))
344 typs[83] = types.NewMap(typs[2], typs[2])
345 typs[84] = newSig(params(typs[1], typs[22], typs[3]), params(typs[83]))
346 typs[85] = newSig(params(typs[1], typs[13], typs[3]), params(typs[83]))
347 typs[86] = newSig(nil, params(typs[83]))
348 typs[87] = newSig(params(typs[1], typs[83], typs[3]), params(typs[3]))
349 typs[88] = newSig(params(typs[1], typs[83], typs[67]), params(typs[3]))
350 typs[89] = newSig(params(typs[1], typs[83], typs[24]), params(typs[3]))
351 typs[90] = newSig(params(typs[1], typs[83], typs[30]), params(typs[3]))
352 typs[91] = newSig(params(typs[1], typs[83], typs[3], typs[1]), params(typs[3]))
353 typs[92] = newSig(params(typs[1], typs[83], typs[3]), params(typs[3], typs[6]))
354 typs[93] = newSig(params(typs[1], typs[83], typs[67]), params(typs[3], typs[6]))
355 typs[94] = newSig(params(typs[1], typs[83], typs[24]), params(typs[3], typs[6]))
356 typs[95] = newSig(params(typs[1], typs[83], typs[30]), params(typs[3], typs[6]))
357 typs[96] = newSig(params(typs[1], typs[83], typs[3], typs[1]), params(typs[3], typs[6]))
358 typs[97] = newSig(params(typs[1], typs[83], typs[7]), params(typs[3]))
359 typs[98] = newSig(params(typs[1], typs[83], typs[3]), nil)
360 typs[99] = newSig(params(typs[1], typs[83], typs[67]), nil)
361 typs[100] = newSig(params(typs[1], typs[83], typs[24]), nil)
362 typs[101] = newSig(params(typs[1], typs[83], typs[30]), nil)
363 typs[102] = newSig(params(typs[3]), nil)
364 typs[103] = newSig(params(typs[1], typs[83]), nil)
365 typs[104] = types.NewChan(typs[2], types.Cboth)
366 typs[105] = newSig(params(typs[1], typs[22]), params(typs[104]))
367 typs[106] = newSig(params(typs[1], typs[13]), params(typs[104]))
368 typs[107] = types.NewChan(typs[2], types.Crecv)
369 typs[108] = newSig(params(typs[107], typs[3]), nil)
370 typs[109] = newSig(params(typs[107], typs[3]), params(typs[6]))
371 typs[110] = types.NewChan(typs[2], types.Csend)
372 typs[111] = newSig(params(typs[110], typs[3]), nil)
373 typs[112] = newSig(params(typs[110]), nil)
374 typs[113] = newSig(params(typs[2]), params(typs[13]))
375 typs[114] = types.NewArray(typs[0], 3)
376 typs[115] = types.NewStruct([]*types.Field{types.NewField(src.NoXPos, Lookup("enabled"), typs[6]), types.NewField(src.NoXPos, Lookup("pad"), typs[114]), types.NewField(src.NoXPos, Lookup("cgo"), typs[6]), types.NewField(src.NoXPos, Lookup("alignme"), typs[24])})
377 typs[116] = newSig(params(typs[1], typs[3], typs[3]), nil)
378 typs[117] = newSig(params(typs[1], typs[3]), nil)
379 typs[118] = newSig(params(typs[1], typs[3], typs[13], typs[3], typs[13]), params(typs[13]))
380 typs[119] = newSig(params(typs[110], typs[3]), params(typs[6]))
381 typs[120] = newSig(params(typs[3], typs[107]), params(typs[6], typs[6]))
382 typs[121] = newSig(params(typs[78]), nil)
383 typs[122] = newSig(params(typs[1], typs[1], typs[78], typs[13], typs[13], typs[6]), params(typs[13], typs[6]))
384 typs[123] = newSig(params(typs[1], typs[13], typs[13]), params(typs[7]))
385 typs[124] = newSig(params(typs[1], typs[22], typs[22]), params(typs[7]))
386 typs[125] = newSig(params(typs[1], typs[13], typs[13], typs[7]), params(typs[7]))
387 typs[126] = types.NewSlice(typs[2])
388 typs[127] = newSig(params(typs[3], typs[13], typs[13], typs[13], typs[1]), params(typs[126]))
389 typs[128] = newSig(params(typs[3], typs[13], typs[13], typs[13], typs[1], typs[3], typs[13]), params(typs[126]))
390 typs[129] = newSig(params(typs[1], typs[7], typs[22]), nil)
391 typs[130] = newSig(params(typs[7], typs[22]), nil)
392 typs[131] = newSig(params(typs[1], typs[1], typs[13], typs[13]), params(typs[1], typs[13], typs[13]))
393 typs[132] = newSig(params(typs[5], typs[1], typs[13], typs[13]), params(typs[1], typs[13], typs[13]))
394 typs[133] = newSig(params(typs[1], typs[1], typs[13]), params(typs[1], typs[13], typs[13]))
395 typs[134] = newSig(params(typs[5], typs[1], typs[13]), params(typs[1], typs[13], typs[13]))
396 typs[135] = newSig(params(typs[3], typs[3], typs[5]), nil)
397 typs[136] = newSig(params(typs[7], typs[5]), nil)
398 typs[137] = newSig(params(typs[3], typs[3], typs[5]), params(typs[6]))
399 typs[138] = newSig(params(typs[3], typs[3]), params(typs[6]))
400 typs[139] = newSig(params(typs[7], typs[7]), params(typs[6]))
401 typs[140] = newSig(params(typs[3], typs[5], typs[5]), params(typs[5]))
402 typs[141] = newSig(params(typs[7], typs[5]), params(typs[5]))
403 typs[142] = newSig(params(typs[3], typs[5]), params(typs[5]))
404 typs[143] = newSig(params(typs[22], typs[22]), params(typs[22]))
405 typs[144] = newSig(params(typs[24], typs[24]), params(typs[24]))
406 typs[145] = newSig(params(typs[18]), params(typs[22]))
407 typs[146] = newSig(params(typs[18]), params(typs[24]))
408 typs[147] = newSig(params(typs[18]), params(typs[67]))
409 typs[148] = newSig(params(typs[22]), params(typs[18]))
410 typs[149] = newSig(params(typs[22]), params(typs[20]))
411 typs[150] = newSig(params(typs[24]), params(typs[18]))
412 typs[151] = newSig(params(typs[24]), params(typs[20]))
413 typs[152] = newSig(params(typs[67]), params(typs[18]))
414 typs[153] = newSig(params(typs[26], typs[26]), params(typs[26]))
415 typs[154] = newSig(params(typs[5], typs[5]), nil)
416 typs[155] = newSig(params(typs[5], typs[5], typs[5]), nil)
417 typs[156] = newSig(params(typs[7], typs[1], typs[5]), nil)
418 typs[157] = types.NewSlice(typs[7])
419 typs[158] = newSig(params(typs[7], typs[157]), nil)
420 typs[159] = newSig(params(typs[71], typs[71], typs[15]), nil)
421 typs[160] = newSig(params(typs[65], typs[65], typs[15]), nil)
422 typs[161] = newSig(params(typs[67], typs[67], typs[15]), nil)
423 typs[162] = newSig(params(typs[24], typs[24], typs[15]), nil)
424 typs[163] = newSig(params(typs[30], typs[30], typs[15]), nil)
425 typs[164] = types.NewArray(typs[0], 16)
426 typs[165] = newSig(params(typs[7], typs[67], typs[164], typs[30], typs[13], typs[71], typs[71]), params(typs[67]))
427 return typs[:]
428 }
429
430 var coverageDecls = [...]struct {
431 name string
432 tag int
433 typ int
434 }{
435 {"initHook", funcTag, 1},
436 }
437
438 func coverageTypes() []*types.Type {
439 var typs [2]*types.Type
440 typs[0] = types.Types[types.TBOOL]
441 typs[1] = newSig(params(typs[0]), nil)
442 return typs[:]
443 }
444
View as plain text