@@ -63,13 +63,258 @@ class Ptrdiff_t extends Type {
63
63
override string getAPrimaryQlClass ( ) { result = "Ptrdiff_t" }
64
64
}
65
65
66
+ /**
67
+ * A common base type for describing the C/C++ fixed-width numeric types
68
+ */
69
+ abstract class FixedWidthIntegralType extends UserType {
70
+ FixedWidthIntegralType ( ) { this .getUnderlyingType ( ) instanceof IntegralType }
71
+ }
72
+
73
+ /**
74
+ * A common base type for describing the C/C++ minimum-width numeric types.
75
+ */
76
+ abstract class MinimumWidthIntegralType extends UserType {
77
+ MinimumWidthIntegralType ( ) { this .getUnderlyingType ( ) instanceof IntegralType }
78
+ }
79
+
80
+ /**
81
+ * A common base type for describing the C/C++ maximum-width numeric types.
82
+ */
83
+ abstract class MaximumWidthIntegralType extends UserType {
84
+ MaximumWidthIntegralType ( ) { this .getUnderlyingType ( ) instanceof IntegralType }
85
+ }
86
+
87
+ /**
88
+ * A common base type for describing enum types that are based on fixed-width types.
89
+ */
90
+ class FixedWidthEnumType extends UserType {
91
+ FixedWidthEnumType ( ) {
92
+ this .( Enum ) .getExplicitUnderlyingType ( ) instanceof FixedWidthIntegralType
93
+ }
94
+ }
95
+
96
+ /**
97
+ * The C/C++ `int8_t` type.
98
+ */
99
+ class Int8_t extends FixedWidthIntegralType {
100
+ Int8_t ( ) { this .hasGlobalOrStdName ( "int8_t" ) }
101
+
102
+ override string getAPrimaryQlClass ( ) { result = "Int8_t" }
103
+ }
104
+
105
+ /**
106
+ * The C/C++ `int16_t` type.
107
+ */
108
+ class Int16_t extends FixedWidthIntegralType {
109
+ Int16_t ( ) { this .hasGlobalOrStdName ( "int16_t" ) }
110
+
111
+ override string getAPrimaryQlClass ( ) { result = "Int16_t" }
112
+ }
113
+
114
+ /**
115
+ * The C/C++ `int32_t` type.
116
+ */
117
+ class Int32_t extends FixedWidthIntegralType {
118
+ Int32_t ( ) { this .hasGlobalOrStdName ( "int32_t" ) }
119
+
120
+ override string getAPrimaryQlClass ( ) { result = "Int32_t" }
121
+ }
122
+
123
+ /**
124
+ * The C/C++ `int64_t` type.
125
+ */
126
+ class Int64_t extends FixedWidthIntegralType {
127
+ Int64_t ( ) { this .hasGlobalOrStdName ( "int64_t" ) }
128
+
129
+ override string getAPrimaryQlClass ( ) { result = "Int64_t" }
130
+ }
131
+
132
+ /**
133
+ * The C/C++ `uint8_t` type.
134
+ */
135
+ class UInt8_t extends FixedWidthIntegralType {
136
+ UInt8_t ( ) { this .hasGlobalOrStdName ( "uint8_t" ) }
137
+
138
+ override string getAPrimaryQlClass ( ) { result = "UInt8_t" }
139
+ }
140
+
141
+ /**
142
+ * The C/C++ `uint16_t` type.
143
+ */
144
+ class UInt16_t extends FixedWidthIntegralType {
145
+ UInt16_t ( ) { this .hasGlobalOrStdName ( "uint16_t" ) }
146
+
147
+ override string getAPrimaryQlClass ( ) { result = "UInt16_t" }
148
+ }
149
+
150
+ /**
151
+ * The C/C++ `uint32_t` type.
152
+ */
153
+ class UInt32_t extends FixedWidthIntegralType {
154
+ UInt32_t ( ) { this .hasGlobalOrStdName ( "uint32_t" ) }
155
+
156
+ override string getAPrimaryQlClass ( ) { result = "UInt32_t" }
157
+ }
158
+
159
+ /**
160
+ * The C/C++ `uint64_t` type.
161
+ */
162
+ class UInt64_t extends FixedWidthIntegralType {
163
+ UInt64_t ( ) { this .hasGlobalOrStdName ( "uint64_t" ) }
164
+
165
+ override string getAPrimaryQlClass ( ) { result = "UInt64_t" }
166
+ }
167
+
168
+ /**
169
+ * The C/C++ `int_least8_t` type.
170
+ */
171
+ class Int_least8_t extends MinimumWidthIntegralType {
172
+ Int_least8_t ( ) { this .hasGlobalOrStdName ( "int_least8_t" ) }
173
+
174
+ override string getAPrimaryQlClass ( ) { result = "Int_least8_t" }
175
+ }
176
+
177
+ /**
178
+ * The C/C++ `int_least16_t` type.
179
+ */
180
+ class Int_least16_t extends MinimumWidthIntegralType {
181
+ Int_least16_t ( ) { this .hasGlobalOrStdName ( "int_least16_t" ) }
182
+
183
+ override string getAPrimaryQlClass ( ) { result = "Int_least16_t" }
184
+ }
185
+
186
+ /**
187
+ * The C/C++ `int_least32_t` type.
188
+ */
189
+ class Int_least32_t extends MinimumWidthIntegralType {
190
+ Int_least32_t ( ) { this .hasGlobalOrStdName ( "int_least32_t" ) }
191
+
192
+ override string getAPrimaryQlClass ( ) { result = "Int_least32_t" }
193
+ }
194
+
195
+ /**
196
+ * The C/C++ `int_least64_t` type.
197
+ */
198
+ class Int_least64_t extends MinimumWidthIntegralType {
199
+ Int_least64_t ( ) { this .hasGlobalOrStdName ( "int_least64_t" ) }
200
+
201
+ override string getAPrimaryQlClass ( ) { result = "Int_least64_t" }
202
+ }
203
+
204
+ /**
205
+ * The C/C++ `uint_least8_t` type.
206
+ */
207
+ class UInt_least8_t extends MinimumWidthIntegralType {
208
+ UInt_least8_t ( ) { this .hasGlobalOrStdName ( "uint_least8_t" ) }
209
+
210
+ override string getAPrimaryQlClass ( ) { result = "UInt_least8_t" }
211
+ }
212
+
213
+ /**
214
+ * The C/C++ `uint_least16_t` type.
215
+ */
216
+ class UInt_least16_t extends MinimumWidthIntegralType {
217
+ UInt_least16_t ( ) { this .hasGlobalOrStdName ( "uint_least16_t" ) }
218
+
219
+ override string getAPrimaryQlClass ( ) { result = "UInt_least16_t" }
220
+ }
221
+
222
+ /**
223
+ * The C/C++ `uint_least32_t` type.
224
+ */
225
+ class UInt_least32_t extends MinimumWidthIntegralType {
226
+ UInt_least32_t ( ) { this .hasGlobalOrStdName ( "uint_least32_t" ) }
227
+
228
+ override string getAPrimaryQlClass ( ) { result = "UInt_least32_t" }
229
+ }
230
+
231
+ /**
232
+ * The C/C++ `uint_least64_t` type.
233
+ */
234
+ class UInt_least64_t extends MinimumWidthIntegralType {
235
+ UInt_least64_t ( ) { this .hasGlobalOrStdName ( "uint_least64_t" ) }
236
+
237
+ override string getAPrimaryQlClass ( ) { result = "UInt_least64_t" }
238
+ }
239
+
240
+ /**
241
+ * The C/C++ `int_fast8_t` type.
242
+ */
243
+ class Int_fast8_t extends MinimumWidthIntegralType {
244
+ Int_fast8_t ( ) { this .hasGlobalOrStdName ( "int_fast8_t" ) }
245
+
246
+ override string getAPrimaryQlClass ( ) { result = "Int_fast8_t" }
247
+ }
248
+
249
+ /**
250
+ * The C/C++ `int_fast16_t` type.
251
+ */
252
+ class Int_fast16_t extends MinimumWidthIntegralType {
253
+ Int_fast16_t ( ) { this .hasGlobalOrStdName ( "int_fast16_t" ) }
254
+
255
+ override string getAPrimaryQlClass ( ) { result = "Int_fast16_t" }
256
+ }
257
+
258
+ /**
259
+ * The C/C++ `int_fast32_t` type.
260
+ */
261
+ class Int_fast32_t extends MinimumWidthIntegralType {
262
+ Int_fast32_t ( ) { this .hasGlobalOrStdName ( "int_fast32_t" ) }
263
+
264
+ override string getAPrimaryQlClass ( ) { result = "Int_fast32_t" }
265
+ }
266
+
267
+ /**
268
+ * The C/C++ `int_fast64_t` type.
269
+ */
270
+ class Int_fast64_t extends MinimumWidthIntegralType {
271
+ Int_fast64_t ( ) { this .hasGlobalOrStdName ( "int_fast64_t" ) }
272
+
273
+ override string getAPrimaryQlClass ( ) { result = "Int_fast64_t" }
274
+ }
275
+
276
+ /**
277
+ * The C/C++ `uint_fast8_t` type.
278
+ */
279
+ class UInt_fast8_t extends MinimumWidthIntegralType {
280
+ UInt_fast8_t ( ) { this .hasGlobalOrStdName ( "uint_fast8_t" ) }
281
+
282
+ override string getAPrimaryQlClass ( ) { result = "UInt_fast8_t" }
283
+ }
284
+
285
+ /**
286
+ * The C/C++ `uint_fast16_t` type.
287
+ */
288
+ class UInt_fast16_t extends MinimumWidthIntegralType {
289
+ UInt_fast16_t ( ) { this .hasGlobalOrStdName ( "uint_fast16_t" ) }
290
+
291
+ override string getAPrimaryQlClass ( ) { result = "UInt_fast16_t" }
292
+ }
293
+
294
+ /**
295
+ * The C/C++ `uint_fast32_t` type.
296
+ */
297
+ class UInt_fast32_t extends MinimumWidthIntegralType {
298
+ UInt_fast32_t ( ) { this .hasGlobalOrStdName ( "uint_fast32_t" ) }
299
+
300
+ override string getAPrimaryQlClass ( ) { result = "UInt_fast32_t" }
301
+ }
302
+
303
+ /**
304
+ * The C/C++ `uint_fast64_t` type.
305
+ */
306
+ class UInt_fast64_t extends MinimumWidthIntegralType {
307
+ UInt_fast64_t ( ) { this .hasGlobalOrStdName ( "uint_fast64_t" ) }
308
+
309
+ override string getAPrimaryQlClass ( ) { result = "UInt_fast64_t" }
310
+ }
311
+
66
312
/**
67
313
* The C/C++ `intmax_t` type.
68
314
*/
69
- class Intmax_t extends Type {
315
+ class Intmax_t extends MaximumWidthIntegralType {
70
316
Intmax_t ( ) {
71
- this .getUnderlyingType ( ) instanceof IntegralType and
72
- this .hasName ( "intmax_t" )
317
+ this .hasGlobalOrStdName ( "intmax_t" )
73
318
}
74
319
75
320
override string getAPrimaryQlClass ( ) { result = "Intmax_t" }
@@ -78,10 +323,9 @@ class Intmax_t extends Type {
78
323
/**
79
324
* The C/C++ `uintmax_t` type.
80
325
*/
81
- class Uintmax_t extends Type {
326
+ class Uintmax_t extends MaximumWidthIntegralType {
82
327
Uintmax_t ( ) {
83
- this .getUnderlyingType ( ) instanceof IntegralType and
84
- this .hasName ( "uintmax_t" )
328
+ this .hasGlobalOrStdName ( "uintmax_t" )
85
329
}
86
330
87
331
override string getAPrimaryQlClass ( ) { result = "Uintmax_t" }
0 commit comments