/
typekind_gen.go
383 lines (377 loc) · 21 KB
/
typekind_gen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
package clang
// #include "./clang-c/Index.h"
// #include "go-clang.h"
import "C"
// TypeKind describes the kind of type
type TypeKind uint32
const (
// Type_Invalid represents an invalid type (e.g., where no type is available).
Type_Invalid TypeKind = C.CXType_Invalid
// Type_Unexposed a type whose specific kind is not exposed via this interface.
Type_Unexposed = C.CXType_Unexposed
// Type_Void a type whose specific kind is not exposed via this interface.
Type_Void = C.CXType_Void
// Type_Bool a type whose specific kind is not exposed via this interface.
Type_Bool = C.CXType_Bool
// Type_Char_U a type whose specific kind is not exposed via this interface.
Type_Char_U = C.CXType_Char_U
// Type_UChar a type whose specific kind is not exposed via this interface.
Type_UChar = C.CXType_UChar
// Type_Char16 a type whose specific kind is not exposed via this interface.
Type_Char16 = C.CXType_Char16
// Type_Char32 a type whose specific kind is not exposed via this interface.
Type_Char32 = C.CXType_Char32
// Type_UShort a type whose specific kind is not exposed via this interface.
Type_UShort = C.CXType_UShort
// Type_UInt a type whose specific kind is not exposed via this interface.
Type_UInt = C.CXType_UInt
// Type_ULong a type whose specific kind is not exposed via this interface.
Type_ULong = C.CXType_ULong
// Type_ULongLong a type whose specific kind is not exposed via this interface.
Type_ULongLong = C.CXType_ULongLong
// Type_UInt128 a type whose specific kind is not exposed via this interface.
Type_UInt128 = C.CXType_UInt128
// Type_Char_S a type whose specific kind is not exposed via this interface.
Type_Char_S = C.CXType_Char_S
// Type_SChar a type whose specific kind is not exposed via this interface.
Type_SChar = C.CXType_SChar
// Type_WChar a type whose specific kind is not exposed via this interface.
Type_WChar = C.CXType_WChar
// Type_Short a type whose specific kind is not exposed via this interface.
Type_Short = C.CXType_Short
// Type_Int a type whose specific kind is not exposed via this interface.
Type_Int = C.CXType_Int
// Type_Long a type whose specific kind is not exposed via this interface.
Type_Long = C.CXType_Long
// Type_LongLong a type whose specific kind is not exposed via this interface.
Type_LongLong = C.CXType_LongLong
// Type_Int128 a type whose specific kind is not exposed via this interface.
Type_Int128 = C.CXType_Int128
// Type_Float a type whose specific kind is not exposed via this interface.
Type_Float = C.CXType_Float
// Type_Double a type whose specific kind is not exposed via this interface.
Type_Double = C.CXType_Double
// Type_LongDouble a type whose specific kind is not exposed via this interface.
Type_LongDouble = C.CXType_LongDouble
// Type_NullPtr a type whose specific kind is not exposed via this interface.
Type_NullPtr = C.CXType_NullPtr
// Type_Overload a type whose specific kind is not exposed via this interface.
Type_Overload = C.CXType_Overload
// Type_Dependent a type whose specific kind is not exposed via this interface.
Type_Dependent = C.CXType_Dependent
// Type_ObjCId a type whose specific kind is not exposed via this interface.
Type_ObjCId = C.CXType_ObjCId
// Type_ObjCClass a type whose specific kind is not exposed via this interface.
Type_ObjCClass = C.CXType_ObjCClass
// Type_ObjCSel a type whose specific kind is not exposed via this interface.
Type_ObjCSel = C.CXType_ObjCSel
// Type_Float128 a type whose specific kind is not exposed via this interface.
Type_Float128 = C.CXType_Float128
// Type_Half a type whose specific kind is not exposed via this interface.
Type_Half = C.CXType_Half
// Type_Float16 a type whose specific kind is not exposed via this interface.
Type_Float16 = C.CXType_Float16
// Type_ShortAccum a type whose specific kind is not exposed via this interface.
Type_ShortAccum = C.CXType_ShortAccum
// Type_Accum a type whose specific kind is not exposed via this interface.
Type_Accum = C.CXType_Accum
// Type_LongAccum a type whose specific kind is not exposed via this interface.
Type_LongAccum = C.CXType_LongAccum
// Type_UShortAccum a type whose specific kind is not exposed via this interface.
Type_UShortAccum = C.CXType_UShortAccum
// Type_UAccum a type whose specific kind is not exposed via this interface.
Type_UAccum = C.CXType_UAccum
// Type_ULongAccum a type whose specific kind is not exposed via this interface.
Type_ULongAccum = C.CXType_ULongAccum
// Type_BFloat16 a type whose specific kind is not exposed via this interface.
Type_BFloat16 = C.CXType_BFloat16
// Type_Ibm128 a type whose specific kind is not exposed via this interface.
Type_Ibm128 = C.CXType_Ibm128
// Type_FirstBuiltin a type whose specific kind is not exposed via this interface.
Type_FirstBuiltin = C.CXType_FirstBuiltin
// Type_LastBuiltin a type whose specific kind is not exposed via this interface.
Type_LastBuiltin = C.CXType_LastBuiltin
// Type_Complex a type whose specific kind is not exposed via this interface.
Type_Complex = C.CXType_Complex
// Type_Pointer a type whose specific kind is not exposed via this interface.
Type_Pointer = C.CXType_Pointer
// Type_BlockPointer a type whose specific kind is not exposed via this interface.
Type_BlockPointer = C.CXType_BlockPointer
// Type_LValueReference a type whose specific kind is not exposed via this interface.
Type_LValueReference = C.CXType_LValueReference
// Type_RValueReference a type whose specific kind is not exposed via this interface.
Type_RValueReference = C.CXType_RValueReference
// Type_Record a type whose specific kind is not exposed via this interface.
Type_Record = C.CXType_Record
// Type_Enum a type whose specific kind is not exposed via this interface.
Type_Enum = C.CXType_Enum
// Type_Typedef a type whose specific kind is not exposed via this interface.
Type_Typedef = C.CXType_Typedef
// Type_ObjCInterface a type whose specific kind is not exposed via this interface.
Type_ObjCInterface = C.CXType_ObjCInterface
// Type_ObjCObjectPointer a type whose specific kind is not exposed via this interface.
Type_ObjCObjectPointer = C.CXType_ObjCObjectPointer
// Type_FunctionNoProto a type whose specific kind is not exposed via this interface.
Type_FunctionNoProto = C.CXType_FunctionNoProto
// Type_FunctionProto a type whose specific kind is not exposed via this interface.
Type_FunctionProto = C.CXType_FunctionProto
// Type_ConstantArray a type whose specific kind is not exposed via this interface.
Type_ConstantArray = C.CXType_ConstantArray
// Type_Vector a type whose specific kind is not exposed via this interface.
Type_Vector = C.CXType_Vector
// Type_IncompleteArray a type whose specific kind is not exposed via this interface.
Type_IncompleteArray = C.CXType_IncompleteArray
// Type_VariableArray a type whose specific kind is not exposed via this interface.
Type_VariableArray = C.CXType_VariableArray
// Type_DependentSizedArray a type whose specific kind is not exposed via this interface.
Type_DependentSizedArray = C.CXType_DependentSizedArray
// Type_MemberPointer a type whose specific kind is not exposed via this interface.
Type_MemberPointer = C.CXType_MemberPointer
// Type_Auto a type whose specific kind is not exposed via this interface.
Type_Auto = C.CXType_Auto
// Type_Elaborated represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_Elaborated = C.CXType_Elaborated
// Type_Pipe represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_Pipe = C.CXType_Pipe
// Type_OCLImage1dRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dRO = C.CXType_OCLImage1dRO
// Type_OCLImage1dArrayRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dArrayRO = C.CXType_OCLImage1dArrayRO
// Type_OCLImage1dBufferRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dBufferRO = C.CXType_OCLImage1dBufferRO
// Type_OCLImage2dRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dRO = C.CXType_OCLImage2dRO
// Type_OCLImage2dArrayRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayRO = C.CXType_OCLImage2dArrayRO
// Type_OCLImage2dDepthRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dDepthRO = C.CXType_OCLImage2dDepthRO
// Type_OCLImage2dArrayDepthRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayDepthRO = C.CXType_OCLImage2dArrayDepthRO
// Type_OCLImage2dMSAARO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dMSAARO = C.CXType_OCLImage2dMSAARO
// Type_OCLImage2dArrayMSAARO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayMSAARO = C.CXType_OCLImage2dArrayMSAARO
// Type_OCLImage2dMSAADepthRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dMSAADepthRO = C.CXType_OCLImage2dMSAADepthRO
// Type_OCLImage2dArrayMSAADepthRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayMSAADepthRO = C.CXType_OCLImage2dArrayMSAADepthRO
// Type_OCLImage3dRO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage3dRO = C.CXType_OCLImage3dRO
// Type_OCLImage1dWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dWO = C.CXType_OCLImage1dWO
// Type_OCLImage1dArrayWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dArrayWO = C.CXType_OCLImage1dArrayWO
// Type_OCLImage1dBufferWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dBufferWO = C.CXType_OCLImage1dBufferWO
// Type_OCLImage2dWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dWO = C.CXType_OCLImage2dWO
// Type_OCLImage2dArrayWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayWO = C.CXType_OCLImage2dArrayWO
// Type_OCLImage2dDepthWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dDepthWO = C.CXType_OCLImage2dDepthWO
// Type_OCLImage2dArrayDepthWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayDepthWO = C.CXType_OCLImage2dArrayDepthWO
// Type_OCLImage2dMSAAWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dMSAAWO = C.CXType_OCLImage2dMSAAWO
// Type_OCLImage2dArrayMSAAWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayMSAAWO = C.CXType_OCLImage2dArrayMSAAWO
// Type_OCLImage2dMSAADepthWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dMSAADepthWO = C.CXType_OCLImage2dMSAADepthWO
// Type_OCLImage2dArrayMSAADepthWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayMSAADepthWO = C.CXType_OCLImage2dArrayMSAADepthWO
// Type_OCLImage3dWO represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage3dWO = C.CXType_OCLImage3dWO
// Type_OCLImage1dRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dRW = C.CXType_OCLImage1dRW
// Type_OCLImage1dArrayRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dArrayRW = C.CXType_OCLImage1dArrayRW
// Type_OCLImage1dBufferRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage1dBufferRW = C.CXType_OCLImage1dBufferRW
// Type_OCLImage2dRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dRW = C.CXType_OCLImage2dRW
// Type_OCLImage2dArrayRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayRW = C.CXType_OCLImage2dArrayRW
// Type_OCLImage2dDepthRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dDepthRW = C.CXType_OCLImage2dDepthRW
// Type_OCLImage2dArrayDepthRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayDepthRW = C.CXType_OCLImage2dArrayDepthRW
// Type_OCLImage2dMSAARW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dMSAARW = C.CXType_OCLImage2dMSAARW
// Type_OCLImage2dArrayMSAARW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayMSAARW = C.CXType_OCLImage2dArrayMSAARW
// Type_OCLImage2dMSAADepthRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dMSAADepthRW = C.CXType_OCLImage2dMSAADepthRW
// Type_OCLImage2dArrayMSAADepthRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage2dArrayMSAADepthRW = C.CXType_OCLImage2dArrayMSAADepthRW
// Type_OCLImage3dRW represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLImage3dRW = C.CXType_OCLImage3dRW
// Type_OCLSampler represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLSampler = C.CXType_OCLSampler
// Type_OCLEvent represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLEvent = C.CXType_OCLEvent
// Type_OCLQueue represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLQueue = C.CXType_OCLQueue
// Type_OCLReserveID represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLReserveID = C.CXType_OCLReserveID
// Type_ObjCObject represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_ObjCObject = C.CXType_ObjCObject
// Type_ObjCTypeParam represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_ObjCTypeParam = C.CXType_ObjCTypeParam
// Type_Attributed represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_Attributed = C.CXType_Attributed
// Type_OCLIntelSubgroupAVCMcePayload represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCMcePayload = C.CXType_OCLIntelSubgroupAVCMcePayload
// Type_OCLIntelSubgroupAVCImePayload represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCImePayload = C.CXType_OCLIntelSubgroupAVCImePayload
// Type_OCLIntelSubgroupAVCRefPayload represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCRefPayload = C.CXType_OCLIntelSubgroupAVCRefPayload
// Type_OCLIntelSubgroupAVCSicPayload represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCSicPayload = C.CXType_OCLIntelSubgroupAVCSicPayload
// Type_OCLIntelSubgroupAVCMceResult represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCMceResult = C.CXType_OCLIntelSubgroupAVCMceResult
// Type_OCLIntelSubgroupAVCImeResult represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCImeResult = C.CXType_OCLIntelSubgroupAVCImeResult
// Type_OCLIntelSubgroupAVCRefResult represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCRefResult = C.CXType_OCLIntelSubgroupAVCRefResult
// Type_OCLIntelSubgroupAVCSicResult represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCSicResult = C.CXType_OCLIntelSubgroupAVCSicResult
// Type_OCLIntelSubgroupAVCImeResultSingleRefStreamout represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCImeResultSingleRefStreamout = C.CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout
// Type_OCLIntelSubgroupAVCImeResultDualRefStreamout represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCImeResultDualRefStreamout = C.CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout
// Type_OCLIntelSubgroupAVCImeSingleRefStreamin represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCImeSingleRefStreamin = C.CXType_OCLIntelSubgroupAVCImeSingleRefStreamin
// Type_OCLIntelSubgroupAVCImeDualRefStreamin represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_OCLIntelSubgroupAVCImeDualRefStreamin = C.CXType_OCLIntelSubgroupAVCImeDualRefStreamin
// Type_ExtVector represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_ExtVector = C.CXType_ExtVector
// Type_Atomic represents a type that was referred to using an elaborated type keyword.
//
// E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
Type_Atomic = C.CXType_Atomic
)
// GetTypeKindSpelling retrieve the spelling of a given CXTypeKind.
func (tk TypeKind) Spelling() string {
o := cxstring{C.clang_getTypeKindSpelling(C.enum_CXTypeKind(tk))}
defer o.Dispose()
return o.String()
}
func (tk TypeKind) String() string {
return tk.Spelling()
}