Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | |* *| |
||
3 | |* Used by RecursiveASTVisitor to visit attributes. *| |
||
4 | |* *| |
||
5 | |* Automatically generated file, do not edit! *| |
||
6 | |* *| |
||
7 | \*===----------------------------------------------------------------------===*/ |
||
8 | |||
9 | #ifdef ATTR_VISITOR_DECLS_ONLY |
||
10 | |||
11 | bool TraverseAArch64SVEPcsAttr(AArch64SVEPcsAttr *A); |
||
12 | bool VisitAArch64SVEPcsAttr(AArch64SVEPcsAttr *A) { |
||
13 | return true; |
||
14 | } |
||
15 | bool TraverseAArch64VectorPcsAttr(AArch64VectorPcsAttr *A); |
||
16 | bool VisitAArch64VectorPcsAttr(AArch64VectorPcsAttr *A) { |
||
17 | return true; |
||
18 | } |
||
19 | bool TraverseAMDGPUFlatWorkGroupSizeAttr(AMDGPUFlatWorkGroupSizeAttr *A); |
||
20 | bool VisitAMDGPUFlatWorkGroupSizeAttr(AMDGPUFlatWorkGroupSizeAttr *A) { |
||
21 | return true; |
||
22 | } |
||
23 | bool TraverseAMDGPUKernelCallAttr(AMDGPUKernelCallAttr *A); |
||
24 | bool VisitAMDGPUKernelCallAttr(AMDGPUKernelCallAttr *A) { |
||
25 | return true; |
||
26 | } |
||
27 | bool TraverseAMDGPUNumSGPRAttr(AMDGPUNumSGPRAttr *A); |
||
28 | bool VisitAMDGPUNumSGPRAttr(AMDGPUNumSGPRAttr *A) { |
||
29 | return true; |
||
30 | } |
||
31 | bool TraverseAMDGPUNumVGPRAttr(AMDGPUNumVGPRAttr *A); |
||
32 | bool VisitAMDGPUNumVGPRAttr(AMDGPUNumVGPRAttr *A) { |
||
33 | return true; |
||
34 | } |
||
35 | bool TraverseAMDGPUWavesPerEUAttr(AMDGPUWavesPerEUAttr *A); |
||
36 | bool VisitAMDGPUWavesPerEUAttr(AMDGPUWavesPerEUAttr *A) { |
||
37 | return true; |
||
38 | } |
||
39 | bool TraverseARMInterruptAttr(ARMInterruptAttr *A); |
||
40 | bool VisitARMInterruptAttr(ARMInterruptAttr *A) { |
||
41 | return true; |
||
42 | } |
||
43 | bool TraverseAVRInterruptAttr(AVRInterruptAttr *A); |
||
44 | bool VisitAVRInterruptAttr(AVRInterruptAttr *A) { |
||
45 | return true; |
||
46 | } |
||
47 | bool TraverseAVRSignalAttr(AVRSignalAttr *A); |
||
48 | bool VisitAVRSignalAttr(AVRSignalAttr *A) { |
||
49 | return true; |
||
50 | } |
||
51 | bool TraverseAbiTagAttr(AbiTagAttr *A); |
||
52 | bool VisitAbiTagAttr(AbiTagAttr *A) { |
||
53 | return true; |
||
54 | } |
||
55 | bool TraverseAcquireCapabilityAttr(AcquireCapabilityAttr *A); |
||
56 | bool VisitAcquireCapabilityAttr(AcquireCapabilityAttr *A) { |
||
57 | return true; |
||
58 | } |
||
59 | bool TraverseAcquireHandleAttr(AcquireHandleAttr *A); |
||
60 | bool VisitAcquireHandleAttr(AcquireHandleAttr *A) { |
||
61 | return true; |
||
62 | } |
||
63 | bool TraverseAcquiredAfterAttr(AcquiredAfterAttr *A); |
||
64 | bool VisitAcquiredAfterAttr(AcquiredAfterAttr *A) { |
||
65 | return true; |
||
66 | } |
||
67 | bool TraverseAcquiredBeforeAttr(AcquiredBeforeAttr *A); |
||
68 | bool VisitAcquiredBeforeAttr(AcquiredBeforeAttr *A) { |
||
69 | return true; |
||
70 | } |
||
71 | bool TraverseAddressSpaceAttr(AddressSpaceAttr *A); |
||
72 | bool VisitAddressSpaceAttr(AddressSpaceAttr *A) { |
||
73 | return true; |
||
74 | } |
||
75 | bool TraverseAliasAttr(AliasAttr *A); |
||
76 | bool VisitAliasAttr(AliasAttr *A) { |
||
77 | return true; |
||
78 | } |
||
79 | bool TraverseAlignMac68kAttr(AlignMac68kAttr *A); |
||
80 | bool VisitAlignMac68kAttr(AlignMac68kAttr *A) { |
||
81 | return true; |
||
82 | } |
||
83 | bool TraverseAlignNaturalAttr(AlignNaturalAttr *A); |
||
84 | bool VisitAlignNaturalAttr(AlignNaturalAttr *A) { |
||
85 | return true; |
||
86 | } |
||
87 | bool TraverseAlignValueAttr(AlignValueAttr *A); |
||
88 | bool VisitAlignValueAttr(AlignValueAttr *A) { |
||
89 | return true; |
||
90 | } |
||
91 | bool TraverseAlignedAttr(AlignedAttr *A); |
||
92 | bool VisitAlignedAttr(AlignedAttr *A) { |
||
93 | return true; |
||
94 | } |
||
95 | bool TraverseAllocAlignAttr(AllocAlignAttr *A); |
||
96 | bool VisitAllocAlignAttr(AllocAlignAttr *A) { |
||
97 | return true; |
||
98 | } |
||
99 | bool TraverseAllocSizeAttr(AllocSizeAttr *A); |
||
100 | bool VisitAllocSizeAttr(AllocSizeAttr *A) { |
||
101 | return true; |
||
102 | } |
||
103 | bool TraverseAlwaysDestroyAttr(AlwaysDestroyAttr *A); |
||
104 | bool VisitAlwaysDestroyAttr(AlwaysDestroyAttr *A) { |
||
105 | return true; |
||
106 | } |
||
107 | bool TraverseAlwaysInlineAttr(AlwaysInlineAttr *A); |
||
108 | bool VisitAlwaysInlineAttr(AlwaysInlineAttr *A) { |
||
109 | return true; |
||
110 | } |
||
111 | bool TraverseAnalyzerNoReturnAttr(AnalyzerNoReturnAttr *A); |
||
112 | bool VisitAnalyzerNoReturnAttr(AnalyzerNoReturnAttr *A) { |
||
113 | return true; |
||
114 | } |
||
115 | bool TraverseAnnotateAttr(AnnotateAttr *A); |
||
116 | bool VisitAnnotateAttr(AnnotateAttr *A) { |
||
117 | return true; |
||
118 | } |
||
119 | bool TraverseAnnotateTypeAttr(AnnotateTypeAttr *A); |
||
120 | bool VisitAnnotateTypeAttr(AnnotateTypeAttr *A) { |
||
121 | return true; |
||
122 | } |
||
123 | bool TraverseAnyX86InterruptAttr(AnyX86InterruptAttr *A); |
||
124 | bool VisitAnyX86InterruptAttr(AnyX86InterruptAttr *A) { |
||
125 | return true; |
||
126 | } |
||
127 | bool TraverseAnyX86NoCallerSavedRegistersAttr(AnyX86NoCallerSavedRegistersAttr *A); |
||
128 | bool VisitAnyX86NoCallerSavedRegistersAttr(AnyX86NoCallerSavedRegistersAttr *A) { |
||
129 | return true; |
||
130 | } |
||
131 | bool TraverseAnyX86NoCfCheckAttr(AnyX86NoCfCheckAttr *A); |
||
132 | bool VisitAnyX86NoCfCheckAttr(AnyX86NoCfCheckAttr *A) { |
||
133 | return true; |
||
134 | } |
||
135 | bool TraverseArcWeakrefUnavailableAttr(ArcWeakrefUnavailableAttr *A); |
||
136 | bool VisitArcWeakrefUnavailableAttr(ArcWeakrefUnavailableAttr *A) { |
||
137 | return true; |
||
138 | } |
||
139 | bool TraverseArgumentWithTypeTagAttr(ArgumentWithTypeTagAttr *A); |
||
140 | bool VisitArgumentWithTypeTagAttr(ArgumentWithTypeTagAttr *A) { |
||
141 | return true; |
||
142 | } |
||
143 | bool TraverseArmBuiltinAliasAttr(ArmBuiltinAliasAttr *A); |
||
144 | bool VisitArmBuiltinAliasAttr(ArmBuiltinAliasAttr *A) { |
||
145 | return true; |
||
146 | } |
||
147 | bool TraverseArmMveStrictPolymorphismAttr(ArmMveStrictPolymorphismAttr *A); |
||
148 | bool VisitArmMveStrictPolymorphismAttr(ArmMveStrictPolymorphismAttr *A) { |
||
149 | return true; |
||
150 | } |
||
151 | bool TraverseArtificialAttr(ArtificialAttr *A); |
||
152 | bool VisitArtificialAttr(ArtificialAttr *A) { |
||
153 | return true; |
||
154 | } |
||
155 | bool TraverseAsmLabelAttr(AsmLabelAttr *A); |
||
156 | bool VisitAsmLabelAttr(AsmLabelAttr *A) { |
||
157 | return true; |
||
158 | } |
||
159 | bool TraverseAssertCapabilityAttr(AssertCapabilityAttr *A); |
||
160 | bool VisitAssertCapabilityAttr(AssertCapabilityAttr *A) { |
||
161 | return true; |
||
162 | } |
||
163 | bool TraverseAssertExclusiveLockAttr(AssertExclusiveLockAttr *A); |
||
164 | bool VisitAssertExclusiveLockAttr(AssertExclusiveLockAttr *A) { |
||
165 | return true; |
||
166 | } |
||
167 | bool TraverseAssertSharedLockAttr(AssertSharedLockAttr *A); |
||
168 | bool VisitAssertSharedLockAttr(AssertSharedLockAttr *A) { |
||
169 | return true; |
||
170 | } |
||
171 | bool TraverseAssumeAlignedAttr(AssumeAlignedAttr *A); |
||
172 | bool VisitAssumeAlignedAttr(AssumeAlignedAttr *A) { |
||
173 | return true; |
||
174 | } |
||
175 | bool TraverseAssumptionAttr(AssumptionAttr *A); |
||
176 | bool VisitAssumptionAttr(AssumptionAttr *A) { |
||
177 | return true; |
||
178 | } |
||
179 | bool TraverseAvailabilityAttr(AvailabilityAttr *A); |
||
180 | bool VisitAvailabilityAttr(AvailabilityAttr *A) { |
||
181 | return true; |
||
182 | } |
||
183 | bool TraverseBPFPreserveAccessIndexAttr(BPFPreserveAccessIndexAttr *A); |
||
184 | bool VisitBPFPreserveAccessIndexAttr(BPFPreserveAccessIndexAttr *A) { |
||
185 | return true; |
||
186 | } |
||
187 | bool TraverseBTFDeclTagAttr(BTFDeclTagAttr *A); |
||
188 | bool VisitBTFDeclTagAttr(BTFDeclTagAttr *A) { |
||
189 | return true; |
||
190 | } |
||
191 | bool TraverseBTFTypeTagAttr(BTFTypeTagAttr *A); |
||
192 | bool VisitBTFTypeTagAttr(BTFTypeTagAttr *A) { |
||
193 | return true; |
||
194 | } |
||
195 | bool TraverseBlocksAttr(BlocksAttr *A); |
||
196 | bool VisitBlocksAttr(BlocksAttr *A) { |
||
197 | return true; |
||
198 | } |
||
199 | bool TraverseBuiltinAttr(BuiltinAttr *A); |
||
200 | bool VisitBuiltinAttr(BuiltinAttr *A) { |
||
201 | return true; |
||
202 | } |
||
203 | bool TraverseBuiltinAliasAttr(BuiltinAliasAttr *A); |
||
204 | bool VisitBuiltinAliasAttr(BuiltinAliasAttr *A) { |
||
205 | return true; |
||
206 | } |
||
207 | bool TraverseC11NoReturnAttr(C11NoReturnAttr *A); |
||
208 | bool VisitC11NoReturnAttr(C11NoReturnAttr *A) { |
||
209 | return true; |
||
210 | } |
||
211 | bool TraverseCDeclAttr(CDeclAttr *A); |
||
212 | bool VisitCDeclAttr(CDeclAttr *A) { |
||
213 | return true; |
||
214 | } |
||
215 | bool TraverseCFAuditedTransferAttr(CFAuditedTransferAttr *A); |
||
216 | bool VisitCFAuditedTransferAttr(CFAuditedTransferAttr *A) { |
||
217 | return true; |
||
218 | } |
||
219 | bool TraverseCFConsumedAttr(CFConsumedAttr *A); |
||
220 | bool VisitCFConsumedAttr(CFConsumedAttr *A) { |
||
221 | return true; |
||
222 | } |
||
223 | bool TraverseCFGuardAttr(CFGuardAttr *A); |
||
224 | bool VisitCFGuardAttr(CFGuardAttr *A) { |
||
225 | return true; |
||
226 | } |
||
227 | bool TraverseCFICanonicalJumpTableAttr(CFICanonicalJumpTableAttr *A); |
||
228 | bool VisitCFICanonicalJumpTableAttr(CFICanonicalJumpTableAttr *A) { |
||
229 | return true; |
||
230 | } |
||
231 | bool TraverseCFReturnsNotRetainedAttr(CFReturnsNotRetainedAttr *A); |
||
232 | bool VisitCFReturnsNotRetainedAttr(CFReturnsNotRetainedAttr *A) { |
||
233 | return true; |
||
234 | } |
||
235 | bool TraverseCFReturnsRetainedAttr(CFReturnsRetainedAttr *A); |
||
236 | bool VisitCFReturnsRetainedAttr(CFReturnsRetainedAttr *A) { |
||
237 | return true; |
||
238 | } |
||
239 | bool TraverseCFUnknownTransferAttr(CFUnknownTransferAttr *A); |
||
240 | bool VisitCFUnknownTransferAttr(CFUnknownTransferAttr *A) { |
||
241 | return true; |
||
242 | } |
||
243 | bool TraverseCPUDispatchAttr(CPUDispatchAttr *A); |
||
244 | bool VisitCPUDispatchAttr(CPUDispatchAttr *A) { |
||
245 | return true; |
||
246 | } |
||
247 | bool TraverseCPUSpecificAttr(CPUSpecificAttr *A); |
||
248 | bool VisitCPUSpecificAttr(CPUSpecificAttr *A) { |
||
249 | return true; |
||
250 | } |
||
251 | bool TraverseCUDAConstantAttr(CUDAConstantAttr *A); |
||
252 | bool VisitCUDAConstantAttr(CUDAConstantAttr *A) { |
||
253 | return true; |
||
254 | } |
||
255 | bool TraverseCUDADeviceAttr(CUDADeviceAttr *A); |
||
256 | bool VisitCUDADeviceAttr(CUDADeviceAttr *A) { |
||
257 | return true; |
||
258 | } |
||
259 | bool TraverseCUDADeviceBuiltinSurfaceTypeAttr(CUDADeviceBuiltinSurfaceTypeAttr *A); |
||
260 | bool VisitCUDADeviceBuiltinSurfaceTypeAttr(CUDADeviceBuiltinSurfaceTypeAttr *A) { |
||
261 | return true; |
||
262 | } |
||
263 | bool TraverseCUDADeviceBuiltinTextureTypeAttr(CUDADeviceBuiltinTextureTypeAttr *A); |
||
264 | bool VisitCUDADeviceBuiltinTextureTypeAttr(CUDADeviceBuiltinTextureTypeAttr *A) { |
||
265 | return true; |
||
266 | } |
||
267 | bool TraverseCUDAGlobalAttr(CUDAGlobalAttr *A); |
||
268 | bool VisitCUDAGlobalAttr(CUDAGlobalAttr *A) { |
||
269 | return true; |
||
270 | } |
||
271 | bool TraverseCUDAHostAttr(CUDAHostAttr *A); |
||
272 | bool VisitCUDAHostAttr(CUDAHostAttr *A) { |
||
273 | return true; |
||
274 | } |
||
275 | bool TraverseCUDAInvalidTargetAttr(CUDAInvalidTargetAttr *A); |
||
276 | bool VisitCUDAInvalidTargetAttr(CUDAInvalidTargetAttr *A) { |
||
277 | return true; |
||
278 | } |
||
279 | bool TraverseCUDALaunchBoundsAttr(CUDALaunchBoundsAttr *A); |
||
280 | bool VisitCUDALaunchBoundsAttr(CUDALaunchBoundsAttr *A) { |
||
281 | return true; |
||
282 | } |
||
283 | bool TraverseCUDASharedAttr(CUDASharedAttr *A); |
||
284 | bool VisitCUDASharedAttr(CUDASharedAttr *A) { |
||
285 | return true; |
||
286 | } |
||
287 | bool TraverseCXX11NoReturnAttr(CXX11NoReturnAttr *A); |
||
288 | bool VisitCXX11NoReturnAttr(CXX11NoReturnAttr *A) { |
||
289 | return true; |
||
290 | } |
||
291 | bool TraverseCallableWhenAttr(CallableWhenAttr *A); |
||
292 | bool VisitCallableWhenAttr(CallableWhenAttr *A) { |
||
293 | return true; |
||
294 | } |
||
295 | bool TraverseCallbackAttr(CallbackAttr *A); |
||
296 | bool VisitCallbackAttr(CallbackAttr *A) { |
||
297 | return true; |
||
298 | } |
||
299 | bool TraverseCalledOnceAttr(CalledOnceAttr *A); |
||
300 | bool VisitCalledOnceAttr(CalledOnceAttr *A) { |
||
301 | return true; |
||
302 | } |
||
303 | bool TraverseCapabilityAttr(CapabilityAttr *A); |
||
304 | bool VisitCapabilityAttr(CapabilityAttr *A) { |
||
305 | return true; |
||
306 | } |
||
307 | bool TraverseCapturedRecordAttr(CapturedRecordAttr *A); |
||
308 | bool VisitCapturedRecordAttr(CapturedRecordAttr *A) { |
||
309 | return true; |
||
310 | } |
||
311 | bool TraverseCarriesDependencyAttr(CarriesDependencyAttr *A); |
||
312 | bool VisitCarriesDependencyAttr(CarriesDependencyAttr *A) { |
||
313 | return true; |
||
314 | } |
||
315 | bool TraverseCleanupAttr(CleanupAttr *A); |
||
316 | bool VisitCleanupAttr(CleanupAttr *A) { |
||
317 | return true; |
||
318 | } |
||
319 | bool TraverseCmseNSCallAttr(CmseNSCallAttr *A); |
||
320 | bool VisitCmseNSCallAttr(CmseNSCallAttr *A) { |
||
321 | return true; |
||
322 | } |
||
323 | bool TraverseCmseNSEntryAttr(CmseNSEntryAttr *A); |
||
324 | bool VisitCmseNSEntryAttr(CmseNSEntryAttr *A) { |
||
325 | return true; |
||
326 | } |
||
327 | bool TraverseCodeSegAttr(CodeSegAttr *A); |
||
328 | bool VisitCodeSegAttr(CodeSegAttr *A) { |
||
329 | return true; |
||
330 | } |
||
331 | bool TraverseColdAttr(ColdAttr *A); |
||
332 | bool VisitColdAttr(ColdAttr *A) { |
||
333 | return true; |
||
334 | } |
||
335 | bool TraverseCommonAttr(CommonAttr *A); |
||
336 | bool VisitCommonAttr(CommonAttr *A) { |
||
337 | return true; |
||
338 | } |
||
339 | bool TraverseConstAttr(ConstAttr *A); |
||
340 | bool VisitConstAttr(ConstAttr *A) { |
||
341 | return true; |
||
342 | } |
||
343 | bool TraverseConstInitAttr(ConstInitAttr *A); |
||
344 | bool VisitConstInitAttr(ConstInitAttr *A) { |
||
345 | return true; |
||
346 | } |
||
347 | bool TraverseConstructorAttr(ConstructorAttr *A); |
||
348 | bool VisitConstructorAttr(ConstructorAttr *A) { |
||
349 | return true; |
||
350 | } |
||
351 | bool TraverseConsumableAttr(ConsumableAttr *A); |
||
352 | bool VisitConsumableAttr(ConsumableAttr *A) { |
||
353 | return true; |
||
354 | } |
||
355 | bool TraverseConsumableAutoCastAttr(ConsumableAutoCastAttr *A); |
||
356 | bool VisitConsumableAutoCastAttr(ConsumableAutoCastAttr *A) { |
||
357 | return true; |
||
358 | } |
||
359 | bool TraverseConsumableSetOnReadAttr(ConsumableSetOnReadAttr *A); |
||
360 | bool VisitConsumableSetOnReadAttr(ConsumableSetOnReadAttr *A) { |
||
361 | return true; |
||
362 | } |
||
363 | bool TraverseConvergentAttr(ConvergentAttr *A); |
||
364 | bool VisitConvergentAttr(ConvergentAttr *A) { |
||
365 | return true; |
||
366 | } |
||
367 | bool TraverseDLLExportAttr(DLLExportAttr *A); |
||
368 | bool VisitDLLExportAttr(DLLExportAttr *A) { |
||
369 | return true; |
||
370 | } |
||
371 | bool TraverseDLLExportStaticLocalAttr(DLLExportStaticLocalAttr *A); |
||
372 | bool VisitDLLExportStaticLocalAttr(DLLExportStaticLocalAttr *A) { |
||
373 | return true; |
||
374 | } |
||
375 | bool TraverseDLLImportAttr(DLLImportAttr *A); |
||
376 | bool VisitDLLImportAttr(DLLImportAttr *A) { |
||
377 | return true; |
||
378 | } |
||
379 | bool TraverseDLLImportStaticLocalAttr(DLLImportStaticLocalAttr *A); |
||
380 | bool VisitDLLImportStaticLocalAttr(DLLImportStaticLocalAttr *A) { |
||
381 | return true; |
||
382 | } |
||
383 | bool TraverseDeprecatedAttr(DeprecatedAttr *A); |
||
384 | bool VisitDeprecatedAttr(DeprecatedAttr *A) { |
||
385 | return true; |
||
386 | } |
||
387 | bool TraverseDestructorAttr(DestructorAttr *A); |
||
388 | bool VisitDestructorAttr(DestructorAttr *A) { |
||
389 | return true; |
||
390 | } |
||
391 | bool TraverseDiagnoseAsBuiltinAttr(DiagnoseAsBuiltinAttr *A); |
||
392 | bool VisitDiagnoseAsBuiltinAttr(DiagnoseAsBuiltinAttr *A) { |
||
393 | return true; |
||
394 | } |
||
395 | bool TraverseDiagnoseIfAttr(DiagnoseIfAttr *A); |
||
396 | bool VisitDiagnoseIfAttr(DiagnoseIfAttr *A) { |
||
397 | return true; |
||
398 | } |
||
399 | bool TraverseDisableSanitizerInstrumentationAttr(DisableSanitizerInstrumentationAttr *A); |
||
400 | bool VisitDisableSanitizerInstrumentationAttr(DisableSanitizerInstrumentationAttr *A) { |
||
401 | return true; |
||
402 | } |
||
403 | bool TraverseDisableTailCallsAttr(DisableTailCallsAttr *A); |
||
404 | bool VisitDisableTailCallsAttr(DisableTailCallsAttr *A) { |
||
405 | return true; |
||
406 | } |
||
407 | bool TraverseEmptyBasesAttr(EmptyBasesAttr *A); |
||
408 | bool VisitEmptyBasesAttr(EmptyBasesAttr *A) { |
||
409 | return true; |
||
410 | } |
||
411 | bool TraverseEnableIfAttr(EnableIfAttr *A); |
||
412 | bool VisitEnableIfAttr(EnableIfAttr *A) { |
||
413 | return true; |
||
414 | } |
||
415 | bool TraverseEnforceTCBAttr(EnforceTCBAttr *A); |
||
416 | bool VisitEnforceTCBAttr(EnforceTCBAttr *A) { |
||
417 | return true; |
||
418 | } |
||
419 | bool TraverseEnforceTCBLeafAttr(EnforceTCBLeafAttr *A); |
||
420 | bool VisitEnforceTCBLeafAttr(EnforceTCBLeafAttr *A) { |
||
421 | return true; |
||
422 | } |
||
423 | bool TraverseEnumExtensibilityAttr(EnumExtensibilityAttr *A); |
||
424 | bool VisitEnumExtensibilityAttr(EnumExtensibilityAttr *A) { |
||
425 | return true; |
||
426 | } |
||
427 | bool TraverseErrorAttr(ErrorAttr *A); |
||
428 | bool VisitErrorAttr(ErrorAttr *A) { |
||
429 | return true; |
||
430 | } |
||
431 | bool TraverseExcludeFromExplicitInstantiationAttr(ExcludeFromExplicitInstantiationAttr *A); |
||
432 | bool VisitExcludeFromExplicitInstantiationAttr(ExcludeFromExplicitInstantiationAttr *A) { |
||
433 | return true; |
||
434 | } |
||
435 | bool TraverseExclusiveTrylockFunctionAttr(ExclusiveTrylockFunctionAttr *A); |
||
436 | bool VisitExclusiveTrylockFunctionAttr(ExclusiveTrylockFunctionAttr *A) { |
||
437 | return true; |
||
438 | } |
||
439 | bool TraverseExternalSourceSymbolAttr(ExternalSourceSymbolAttr *A); |
||
440 | bool VisitExternalSourceSymbolAttr(ExternalSourceSymbolAttr *A) { |
||
441 | return true; |
||
442 | } |
||
443 | bool TraverseFallThroughAttr(FallThroughAttr *A); |
||
444 | bool VisitFallThroughAttr(FallThroughAttr *A) { |
||
445 | return true; |
||
446 | } |
||
447 | bool TraverseFastCallAttr(FastCallAttr *A); |
||
448 | bool VisitFastCallAttr(FastCallAttr *A) { |
||
449 | return true; |
||
450 | } |
||
451 | bool TraverseFinalAttr(FinalAttr *A); |
||
452 | bool VisitFinalAttr(FinalAttr *A) { |
||
453 | return true; |
||
454 | } |
||
455 | bool TraverseFlagEnumAttr(FlagEnumAttr *A); |
||
456 | bool VisitFlagEnumAttr(FlagEnumAttr *A) { |
||
457 | return true; |
||
458 | } |
||
459 | bool TraverseFlattenAttr(FlattenAttr *A); |
||
460 | bool VisitFlattenAttr(FlattenAttr *A) { |
||
461 | return true; |
||
462 | } |
||
463 | bool TraverseFormatAttr(FormatAttr *A); |
||
464 | bool VisitFormatAttr(FormatAttr *A) { |
||
465 | return true; |
||
466 | } |
||
467 | bool TraverseFormatArgAttr(FormatArgAttr *A); |
||
468 | bool VisitFormatArgAttr(FormatArgAttr *A) { |
||
469 | return true; |
||
470 | } |
||
471 | bool TraverseFunctionReturnThunksAttr(FunctionReturnThunksAttr *A); |
||
472 | bool VisitFunctionReturnThunksAttr(FunctionReturnThunksAttr *A) { |
||
473 | return true; |
||
474 | } |
||
475 | bool TraverseGNUInlineAttr(GNUInlineAttr *A); |
||
476 | bool VisitGNUInlineAttr(GNUInlineAttr *A) { |
||
477 | return true; |
||
478 | } |
||
479 | bool TraverseGuardedByAttr(GuardedByAttr *A); |
||
480 | bool VisitGuardedByAttr(GuardedByAttr *A) { |
||
481 | return true; |
||
482 | } |
||
483 | bool TraverseGuardedVarAttr(GuardedVarAttr *A); |
||
484 | bool VisitGuardedVarAttr(GuardedVarAttr *A) { |
||
485 | return true; |
||
486 | } |
||
487 | bool TraverseHIPManagedAttr(HIPManagedAttr *A); |
||
488 | bool VisitHIPManagedAttr(HIPManagedAttr *A) { |
||
489 | return true; |
||
490 | } |
||
491 | bool TraverseHLSLGroupSharedAddressSpaceAttr(HLSLGroupSharedAddressSpaceAttr *A); |
||
492 | bool VisitHLSLGroupSharedAddressSpaceAttr(HLSLGroupSharedAddressSpaceAttr *A) { |
||
493 | return true; |
||
494 | } |
||
495 | bool TraverseHLSLNumThreadsAttr(HLSLNumThreadsAttr *A); |
||
496 | bool VisitHLSLNumThreadsAttr(HLSLNumThreadsAttr *A) { |
||
497 | return true; |
||
498 | } |
||
499 | bool TraverseHLSLResourceAttr(HLSLResourceAttr *A); |
||
500 | bool VisitHLSLResourceAttr(HLSLResourceAttr *A) { |
||
501 | return true; |
||
502 | } |
||
503 | bool TraverseHLSLResourceBindingAttr(HLSLResourceBindingAttr *A); |
||
504 | bool VisitHLSLResourceBindingAttr(HLSLResourceBindingAttr *A) { |
||
505 | return true; |
||
506 | } |
||
507 | bool TraverseHLSLSV_DispatchThreadIDAttr(HLSLSV_DispatchThreadIDAttr *A); |
||
508 | bool VisitHLSLSV_DispatchThreadIDAttr(HLSLSV_DispatchThreadIDAttr *A) { |
||
509 | return true; |
||
510 | } |
||
511 | bool TraverseHLSLSV_GroupIndexAttr(HLSLSV_GroupIndexAttr *A); |
||
512 | bool VisitHLSLSV_GroupIndexAttr(HLSLSV_GroupIndexAttr *A) { |
||
513 | return true; |
||
514 | } |
||
515 | bool TraverseHLSLShaderAttr(HLSLShaderAttr *A); |
||
516 | bool VisitHLSLShaderAttr(HLSLShaderAttr *A) { |
||
517 | return true; |
||
518 | } |
||
519 | bool TraverseHotAttr(HotAttr *A); |
||
520 | bool VisitHotAttr(HotAttr *A) { |
||
521 | return true; |
||
522 | } |
||
523 | bool TraverseIBActionAttr(IBActionAttr *A); |
||
524 | bool VisitIBActionAttr(IBActionAttr *A) { |
||
525 | return true; |
||
526 | } |
||
527 | bool TraverseIBOutletAttr(IBOutletAttr *A); |
||
528 | bool VisitIBOutletAttr(IBOutletAttr *A) { |
||
529 | return true; |
||
530 | } |
||
531 | bool TraverseIBOutletCollectionAttr(IBOutletCollectionAttr *A); |
||
532 | bool VisitIBOutletCollectionAttr(IBOutletCollectionAttr *A) { |
||
533 | return true; |
||
534 | } |
||
535 | bool TraverseIFuncAttr(IFuncAttr *A); |
||
536 | bool VisitIFuncAttr(IFuncAttr *A) { |
||
537 | return true; |
||
538 | } |
||
539 | bool TraverseInitPriorityAttr(InitPriorityAttr *A); |
||
540 | bool VisitInitPriorityAttr(InitPriorityAttr *A) { |
||
541 | return true; |
||
542 | } |
||
543 | bool TraverseInitSegAttr(InitSegAttr *A); |
||
544 | bool VisitInitSegAttr(InitSegAttr *A) { |
||
545 | return true; |
||
546 | } |
||
547 | bool TraverseIntelOclBiccAttr(IntelOclBiccAttr *A); |
||
548 | bool VisitIntelOclBiccAttr(IntelOclBiccAttr *A) { |
||
549 | return true; |
||
550 | } |
||
551 | bool TraverseInternalLinkageAttr(InternalLinkageAttr *A); |
||
552 | bool VisitInternalLinkageAttr(InternalLinkageAttr *A) { |
||
553 | return true; |
||
554 | } |
||
555 | bool TraverseLTOVisibilityPublicAttr(LTOVisibilityPublicAttr *A); |
||
556 | bool VisitLTOVisibilityPublicAttr(LTOVisibilityPublicAttr *A) { |
||
557 | return true; |
||
558 | } |
||
559 | bool TraverseLayoutVersionAttr(LayoutVersionAttr *A); |
||
560 | bool VisitLayoutVersionAttr(LayoutVersionAttr *A) { |
||
561 | return true; |
||
562 | } |
||
563 | bool TraverseLeafAttr(LeafAttr *A); |
||
564 | bool VisitLeafAttr(LeafAttr *A) { |
||
565 | return true; |
||
566 | } |
||
567 | bool TraverseLifetimeBoundAttr(LifetimeBoundAttr *A); |
||
568 | bool VisitLifetimeBoundAttr(LifetimeBoundAttr *A) { |
||
569 | return true; |
||
570 | } |
||
571 | bool TraverseLikelyAttr(LikelyAttr *A); |
||
572 | bool VisitLikelyAttr(LikelyAttr *A) { |
||
573 | return true; |
||
574 | } |
||
575 | bool TraverseLoaderUninitializedAttr(LoaderUninitializedAttr *A); |
||
576 | bool VisitLoaderUninitializedAttr(LoaderUninitializedAttr *A) { |
||
577 | return true; |
||
578 | } |
||
579 | bool TraverseLockReturnedAttr(LockReturnedAttr *A); |
||
580 | bool VisitLockReturnedAttr(LockReturnedAttr *A) { |
||
581 | return true; |
||
582 | } |
||
583 | bool TraverseLocksExcludedAttr(LocksExcludedAttr *A); |
||
584 | bool VisitLocksExcludedAttr(LocksExcludedAttr *A) { |
||
585 | return true; |
||
586 | } |
||
587 | bool TraverseLoopHintAttr(LoopHintAttr *A); |
||
588 | bool VisitLoopHintAttr(LoopHintAttr *A) { |
||
589 | return true; |
||
590 | } |
||
591 | bool TraverseM68kInterruptAttr(M68kInterruptAttr *A); |
||
592 | bool VisitM68kInterruptAttr(M68kInterruptAttr *A) { |
||
593 | return true; |
||
594 | } |
||
595 | bool TraverseMIGServerRoutineAttr(MIGServerRoutineAttr *A); |
||
596 | bool VisitMIGServerRoutineAttr(MIGServerRoutineAttr *A) { |
||
597 | return true; |
||
598 | } |
||
599 | bool TraverseMSABIAttr(MSABIAttr *A); |
||
600 | bool VisitMSABIAttr(MSABIAttr *A) { |
||
601 | return true; |
||
602 | } |
||
603 | bool TraverseMSAllocatorAttr(MSAllocatorAttr *A); |
||
604 | bool VisitMSAllocatorAttr(MSAllocatorAttr *A) { |
||
605 | return true; |
||
606 | } |
||
607 | bool TraverseMSInheritanceAttr(MSInheritanceAttr *A); |
||
608 | bool VisitMSInheritanceAttr(MSInheritanceAttr *A) { |
||
609 | return true; |
||
610 | } |
||
611 | bool TraverseMSNoVTableAttr(MSNoVTableAttr *A); |
||
612 | bool VisitMSNoVTableAttr(MSNoVTableAttr *A) { |
||
613 | return true; |
||
614 | } |
||
615 | bool TraverseMSP430InterruptAttr(MSP430InterruptAttr *A); |
||
616 | bool VisitMSP430InterruptAttr(MSP430InterruptAttr *A) { |
||
617 | return true; |
||
618 | } |
||
619 | bool TraverseMSStructAttr(MSStructAttr *A); |
||
620 | bool VisitMSStructAttr(MSStructAttr *A) { |
||
621 | return true; |
||
622 | } |
||
623 | bool TraverseMSVtorDispAttr(MSVtorDispAttr *A); |
||
624 | bool VisitMSVtorDispAttr(MSVtorDispAttr *A) { |
||
625 | return true; |
||
626 | } |
||
627 | bool TraverseMaxFieldAlignmentAttr(MaxFieldAlignmentAttr *A); |
||
628 | bool VisitMaxFieldAlignmentAttr(MaxFieldAlignmentAttr *A) { |
||
629 | return true; |
||
630 | } |
||
631 | bool TraverseMayAliasAttr(MayAliasAttr *A); |
||
632 | bool VisitMayAliasAttr(MayAliasAttr *A) { |
||
633 | return true; |
||
634 | } |
||
635 | bool TraverseMaybeUndefAttr(MaybeUndefAttr *A); |
||
636 | bool VisitMaybeUndefAttr(MaybeUndefAttr *A) { |
||
637 | return true; |
||
638 | } |
||
639 | bool TraverseMicroMipsAttr(MicroMipsAttr *A); |
||
640 | bool VisitMicroMipsAttr(MicroMipsAttr *A) { |
||
641 | return true; |
||
642 | } |
||
643 | bool TraverseMinSizeAttr(MinSizeAttr *A); |
||
644 | bool VisitMinSizeAttr(MinSizeAttr *A) { |
||
645 | return true; |
||
646 | } |
||
647 | bool TraverseMinVectorWidthAttr(MinVectorWidthAttr *A); |
||
648 | bool VisitMinVectorWidthAttr(MinVectorWidthAttr *A) { |
||
649 | return true; |
||
650 | } |
||
651 | bool TraverseMips16Attr(Mips16Attr *A); |
||
652 | bool VisitMips16Attr(Mips16Attr *A) { |
||
653 | return true; |
||
654 | } |
||
655 | bool TraverseMipsInterruptAttr(MipsInterruptAttr *A); |
||
656 | bool VisitMipsInterruptAttr(MipsInterruptAttr *A) { |
||
657 | return true; |
||
658 | } |
||
659 | bool TraverseMipsLongCallAttr(MipsLongCallAttr *A); |
||
660 | bool VisitMipsLongCallAttr(MipsLongCallAttr *A) { |
||
661 | return true; |
||
662 | } |
||
663 | bool TraverseMipsShortCallAttr(MipsShortCallAttr *A); |
||
664 | bool VisitMipsShortCallAttr(MipsShortCallAttr *A) { |
||
665 | return true; |
||
666 | } |
||
667 | bool TraverseModeAttr(ModeAttr *A); |
||
668 | bool VisitModeAttr(ModeAttr *A) { |
||
669 | return true; |
||
670 | } |
||
671 | bool TraverseMustTailAttr(MustTailAttr *A); |
||
672 | bool VisitMustTailAttr(MustTailAttr *A) { |
||
673 | return true; |
||
674 | } |
||
675 | bool TraverseNSConsumedAttr(NSConsumedAttr *A); |
||
676 | bool VisitNSConsumedAttr(NSConsumedAttr *A) { |
||
677 | return true; |
||
678 | } |
||
679 | bool TraverseNSConsumesSelfAttr(NSConsumesSelfAttr *A); |
||
680 | bool VisitNSConsumesSelfAttr(NSConsumesSelfAttr *A) { |
||
681 | return true; |
||
682 | } |
||
683 | bool TraverseNSErrorDomainAttr(NSErrorDomainAttr *A); |
||
684 | bool VisitNSErrorDomainAttr(NSErrorDomainAttr *A) { |
||
685 | return true; |
||
686 | } |
||
687 | bool TraverseNSReturnsAutoreleasedAttr(NSReturnsAutoreleasedAttr *A); |
||
688 | bool VisitNSReturnsAutoreleasedAttr(NSReturnsAutoreleasedAttr *A) { |
||
689 | return true; |
||
690 | } |
||
691 | bool TraverseNSReturnsNotRetainedAttr(NSReturnsNotRetainedAttr *A); |
||
692 | bool VisitNSReturnsNotRetainedAttr(NSReturnsNotRetainedAttr *A) { |
||
693 | return true; |
||
694 | } |
||
695 | bool TraverseNSReturnsRetainedAttr(NSReturnsRetainedAttr *A); |
||
696 | bool VisitNSReturnsRetainedAttr(NSReturnsRetainedAttr *A) { |
||
697 | return true; |
||
698 | } |
||
699 | bool TraverseNakedAttr(NakedAttr *A); |
||
700 | bool VisitNakedAttr(NakedAttr *A) { |
||
701 | return true; |
||
702 | } |
||
703 | bool TraverseNoAliasAttr(NoAliasAttr *A); |
||
704 | bool VisitNoAliasAttr(NoAliasAttr *A) { |
||
705 | return true; |
||
706 | } |
||
707 | bool TraverseNoBuiltinAttr(NoBuiltinAttr *A); |
||
708 | bool VisitNoBuiltinAttr(NoBuiltinAttr *A) { |
||
709 | return true; |
||
710 | } |
||
711 | bool TraverseNoCommonAttr(NoCommonAttr *A); |
||
712 | bool VisitNoCommonAttr(NoCommonAttr *A) { |
||
713 | return true; |
||
714 | } |
||
715 | bool TraverseNoDebugAttr(NoDebugAttr *A); |
||
716 | bool VisitNoDebugAttr(NoDebugAttr *A) { |
||
717 | return true; |
||
718 | } |
||
719 | bool TraverseNoDerefAttr(NoDerefAttr *A); |
||
720 | bool VisitNoDerefAttr(NoDerefAttr *A) { |
||
721 | return true; |
||
722 | } |
||
723 | bool TraverseNoDestroyAttr(NoDestroyAttr *A); |
||
724 | bool VisitNoDestroyAttr(NoDestroyAttr *A) { |
||
725 | return true; |
||
726 | } |
||
727 | bool TraverseNoDuplicateAttr(NoDuplicateAttr *A); |
||
728 | bool VisitNoDuplicateAttr(NoDuplicateAttr *A) { |
||
729 | return true; |
||
730 | } |
||
731 | bool TraverseNoEscapeAttr(NoEscapeAttr *A); |
||
732 | bool VisitNoEscapeAttr(NoEscapeAttr *A) { |
||
733 | return true; |
||
734 | } |
||
735 | bool TraverseNoInlineAttr(NoInlineAttr *A); |
||
736 | bool VisitNoInlineAttr(NoInlineAttr *A) { |
||
737 | return true; |
||
738 | } |
||
739 | bool TraverseNoInstrumentFunctionAttr(NoInstrumentFunctionAttr *A); |
||
740 | bool VisitNoInstrumentFunctionAttr(NoInstrumentFunctionAttr *A) { |
||
741 | return true; |
||
742 | } |
||
743 | bool TraverseNoMergeAttr(NoMergeAttr *A); |
||
744 | bool VisitNoMergeAttr(NoMergeAttr *A) { |
||
745 | return true; |
||
746 | } |
||
747 | bool TraverseNoMicroMipsAttr(NoMicroMipsAttr *A); |
||
748 | bool VisitNoMicroMipsAttr(NoMicroMipsAttr *A) { |
||
749 | return true; |
||
750 | } |
||
751 | bool TraverseNoMips16Attr(NoMips16Attr *A); |
||
752 | bool VisitNoMips16Attr(NoMips16Attr *A) { |
||
753 | return true; |
||
754 | } |
||
755 | bool TraverseNoProfileFunctionAttr(NoProfileFunctionAttr *A); |
||
756 | bool VisitNoProfileFunctionAttr(NoProfileFunctionAttr *A) { |
||
757 | return true; |
||
758 | } |
||
759 | bool TraverseNoRandomizeLayoutAttr(NoRandomizeLayoutAttr *A); |
||
760 | bool VisitNoRandomizeLayoutAttr(NoRandomizeLayoutAttr *A) { |
||
761 | return true; |
||
762 | } |
||
763 | bool TraverseNoReturnAttr(NoReturnAttr *A); |
||
764 | bool VisitNoReturnAttr(NoReturnAttr *A) { |
||
765 | return true; |
||
766 | } |
||
767 | bool TraverseNoSanitizeAttr(NoSanitizeAttr *A); |
||
768 | bool VisitNoSanitizeAttr(NoSanitizeAttr *A) { |
||
769 | return true; |
||
770 | } |
||
771 | bool TraverseNoSpeculativeLoadHardeningAttr(NoSpeculativeLoadHardeningAttr *A); |
||
772 | bool VisitNoSpeculativeLoadHardeningAttr(NoSpeculativeLoadHardeningAttr *A) { |
||
773 | return true; |
||
774 | } |
||
775 | bool TraverseNoSplitStackAttr(NoSplitStackAttr *A); |
||
776 | bool VisitNoSplitStackAttr(NoSplitStackAttr *A) { |
||
777 | return true; |
||
778 | } |
||
779 | bool TraverseNoStackProtectorAttr(NoStackProtectorAttr *A); |
||
780 | bool VisitNoStackProtectorAttr(NoStackProtectorAttr *A) { |
||
781 | return true; |
||
782 | } |
||
783 | bool TraverseNoThreadSafetyAnalysisAttr(NoThreadSafetyAnalysisAttr *A); |
||
784 | bool VisitNoThreadSafetyAnalysisAttr(NoThreadSafetyAnalysisAttr *A) { |
||
785 | return true; |
||
786 | } |
||
787 | bool TraverseNoThrowAttr(NoThrowAttr *A); |
||
788 | bool VisitNoThrowAttr(NoThrowAttr *A) { |
||
789 | return true; |
||
790 | } |
||
791 | bool TraverseNoUniqueAddressAttr(NoUniqueAddressAttr *A); |
||
792 | bool VisitNoUniqueAddressAttr(NoUniqueAddressAttr *A) { |
||
793 | return true; |
||
794 | } |
||
795 | bool TraverseNoUwtableAttr(NoUwtableAttr *A); |
||
796 | bool VisitNoUwtableAttr(NoUwtableAttr *A) { |
||
797 | return true; |
||
798 | } |
||
799 | bool TraverseNonNullAttr(NonNullAttr *A); |
||
800 | bool VisitNonNullAttr(NonNullAttr *A) { |
||
801 | return true; |
||
802 | } |
||
803 | bool TraverseNotTailCalledAttr(NotTailCalledAttr *A); |
||
804 | bool VisitNotTailCalledAttr(NotTailCalledAttr *A) { |
||
805 | return true; |
||
806 | } |
||
807 | bool TraverseOMPAllocateDeclAttr(OMPAllocateDeclAttr *A); |
||
808 | bool VisitOMPAllocateDeclAttr(OMPAllocateDeclAttr *A) { |
||
809 | return true; |
||
810 | } |
||
811 | bool TraverseOMPCaptureKindAttr(OMPCaptureKindAttr *A); |
||
812 | bool VisitOMPCaptureKindAttr(OMPCaptureKindAttr *A) { |
||
813 | return true; |
||
814 | } |
||
815 | bool TraverseOMPCaptureNoInitAttr(OMPCaptureNoInitAttr *A); |
||
816 | bool VisitOMPCaptureNoInitAttr(OMPCaptureNoInitAttr *A) { |
||
817 | return true; |
||
818 | } |
||
819 | bool TraverseOMPDeclareSimdDeclAttr(OMPDeclareSimdDeclAttr *A); |
||
820 | bool VisitOMPDeclareSimdDeclAttr(OMPDeclareSimdDeclAttr *A) { |
||
821 | return true; |
||
822 | } |
||
823 | bool TraverseOMPDeclareTargetDeclAttr(OMPDeclareTargetDeclAttr *A); |
||
824 | bool VisitOMPDeclareTargetDeclAttr(OMPDeclareTargetDeclAttr *A) { |
||
825 | return true; |
||
826 | } |
||
827 | bool TraverseOMPDeclareVariantAttr(OMPDeclareVariantAttr *A); |
||
828 | bool VisitOMPDeclareVariantAttr(OMPDeclareVariantAttr *A) { |
||
829 | return true; |
||
830 | } |
||
831 | bool TraverseOMPReferencedVarAttr(OMPReferencedVarAttr *A); |
||
832 | bool VisitOMPReferencedVarAttr(OMPReferencedVarAttr *A) { |
||
833 | return true; |
||
834 | } |
||
835 | bool TraverseOMPThreadPrivateDeclAttr(OMPThreadPrivateDeclAttr *A); |
||
836 | bool VisitOMPThreadPrivateDeclAttr(OMPThreadPrivateDeclAttr *A) { |
||
837 | return true; |
||
838 | } |
||
839 | bool TraverseOSConsumedAttr(OSConsumedAttr *A); |
||
840 | bool VisitOSConsumedAttr(OSConsumedAttr *A) { |
||
841 | return true; |
||
842 | } |
||
843 | bool TraverseOSConsumesThisAttr(OSConsumesThisAttr *A); |
||
844 | bool VisitOSConsumesThisAttr(OSConsumesThisAttr *A) { |
||
845 | return true; |
||
846 | } |
||
847 | bool TraverseOSReturnsNotRetainedAttr(OSReturnsNotRetainedAttr *A); |
||
848 | bool VisitOSReturnsNotRetainedAttr(OSReturnsNotRetainedAttr *A) { |
||
849 | return true; |
||
850 | } |
||
851 | bool TraverseOSReturnsRetainedAttr(OSReturnsRetainedAttr *A); |
||
852 | bool VisitOSReturnsRetainedAttr(OSReturnsRetainedAttr *A) { |
||
853 | return true; |
||
854 | } |
||
855 | bool TraverseOSReturnsRetainedOnNonZeroAttr(OSReturnsRetainedOnNonZeroAttr *A); |
||
856 | bool VisitOSReturnsRetainedOnNonZeroAttr(OSReturnsRetainedOnNonZeroAttr *A) { |
||
857 | return true; |
||
858 | } |
||
859 | bool TraverseOSReturnsRetainedOnZeroAttr(OSReturnsRetainedOnZeroAttr *A); |
||
860 | bool VisitOSReturnsRetainedOnZeroAttr(OSReturnsRetainedOnZeroAttr *A) { |
||
861 | return true; |
||
862 | } |
||
863 | bool TraverseObjCBoxableAttr(ObjCBoxableAttr *A); |
||
864 | bool VisitObjCBoxableAttr(ObjCBoxableAttr *A) { |
||
865 | return true; |
||
866 | } |
||
867 | bool TraverseObjCBridgeAttr(ObjCBridgeAttr *A); |
||
868 | bool VisitObjCBridgeAttr(ObjCBridgeAttr *A) { |
||
869 | return true; |
||
870 | } |
||
871 | bool TraverseObjCBridgeMutableAttr(ObjCBridgeMutableAttr *A); |
||
872 | bool VisitObjCBridgeMutableAttr(ObjCBridgeMutableAttr *A) { |
||
873 | return true; |
||
874 | } |
||
875 | bool TraverseObjCBridgeRelatedAttr(ObjCBridgeRelatedAttr *A); |
||
876 | bool VisitObjCBridgeRelatedAttr(ObjCBridgeRelatedAttr *A) { |
||
877 | return true; |
||
878 | } |
||
879 | bool TraverseObjCClassStubAttr(ObjCClassStubAttr *A); |
||
880 | bool VisitObjCClassStubAttr(ObjCClassStubAttr *A) { |
||
881 | return true; |
||
882 | } |
||
883 | bool TraverseObjCDesignatedInitializerAttr(ObjCDesignatedInitializerAttr *A); |
||
884 | bool VisitObjCDesignatedInitializerAttr(ObjCDesignatedInitializerAttr *A) { |
||
885 | return true; |
||
886 | } |
||
887 | bool TraverseObjCDirectAttr(ObjCDirectAttr *A); |
||
888 | bool VisitObjCDirectAttr(ObjCDirectAttr *A) { |
||
889 | return true; |
||
890 | } |
||
891 | bool TraverseObjCDirectMembersAttr(ObjCDirectMembersAttr *A); |
||
892 | bool VisitObjCDirectMembersAttr(ObjCDirectMembersAttr *A) { |
||
893 | return true; |
||
894 | } |
||
895 | bool TraverseObjCExceptionAttr(ObjCExceptionAttr *A); |
||
896 | bool VisitObjCExceptionAttr(ObjCExceptionAttr *A) { |
||
897 | return true; |
||
898 | } |
||
899 | bool TraverseObjCExplicitProtocolImplAttr(ObjCExplicitProtocolImplAttr *A); |
||
900 | bool VisitObjCExplicitProtocolImplAttr(ObjCExplicitProtocolImplAttr *A) { |
||
901 | return true; |
||
902 | } |
||
903 | bool TraverseObjCExternallyRetainedAttr(ObjCExternallyRetainedAttr *A); |
||
904 | bool VisitObjCExternallyRetainedAttr(ObjCExternallyRetainedAttr *A) { |
||
905 | return true; |
||
906 | } |
||
907 | bool TraverseObjCGCAttr(ObjCGCAttr *A); |
||
908 | bool VisitObjCGCAttr(ObjCGCAttr *A) { |
||
909 | return true; |
||
910 | } |
||
911 | bool TraverseObjCIndependentClassAttr(ObjCIndependentClassAttr *A); |
||
912 | bool VisitObjCIndependentClassAttr(ObjCIndependentClassAttr *A) { |
||
913 | return true; |
||
914 | } |
||
915 | bool TraverseObjCInertUnsafeUnretainedAttr(ObjCInertUnsafeUnretainedAttr *A); |
||
916 | bool VisitObjCInertUnsafeUnretainedAttr(ObjCInertUnsafeUnretainedAttr *A) { |
||
917 | return true; |
||
918 | } |
||
919 | bool TraverseObjCKindOfAttr(ObjCKindOfAttr *A); |
||
920 | bool VisitObjCKindOfAttr(ObjCKindOfAttr *A) { |
||
921 | return true; |
||
922 | } |
||
923 | bool TraverseObjCMethodFamilyAttr(ObjCMethodFamilyAttr *A); |
||
924 | bool VisitObjCMethodFamilyAttr(ObjCMethodFamilyAttr *A) { |
||
925 | return true; |
||
926 | } |
||
927 | bool TraverseObjCNSObjectAttr(ObjCNSObjectAttr *A); |
||
928 | bool VisitObjCNSObjectAttr(ObjCNSObjectAttr *A) { |
||
929 | return true; |
||
930 | } |
||
931 | bool TraverseObjCNonLazyClassAttr(ObjCNonLazyClassAttr *A); |
||
932 | bool VisitObjCNonLazyClassAttr(ObjCNonLazyClassAttr *A) { |
||
933 | return true; |
||
934 | } |
||
935 | bool TraverseObjCNonRuntimeProtocolAttr(ObjCNonRuntimeProtocolAttr *A); |
||
936 | bool VisitObjCNonRuntimeProtocolAttr(ObjCNonRuntimeProtocolAttr *A) { |
||
937 | return true; |
||
938 | } |
||
939 | bool TraverseObjCOwnershipAttr(ObjCOwnershipAttr *A); |
||
940 | bool VisitObjCOwnershipAttr(ObjCOwnershipAttr *A) { |
||
941 | return true; |
||
942 | } |
||
943 | bool TraverseObjCPreciseLifetimeAttr(ObjCPreciseLifetimeAttr *A); |
||
944 | bool VisitObjCPreciseLifetimeAttr(ObjCPreciseLifetimeAttr *A) { |
||
945 | return true; |
||
946 | } |
||
947 | bool TraverseObjCRequiresPropertyDefsAttr(ObjCRequiresPropertyDefsAttr *A); |
||
948 | bool VisitObjCRequiresPropertyDefsAttr(ObjCRequiresPropertyDefsAttr *A) { |
||
949 | return true; |
||
950 | } |
||
951 | bool TraverseObjCRequiresSuperAttr(ObjCRequiresSuperAttr *A); |
||
952 | bool VisitObjCRequiresSuperAttr(ObjCRequiresSuperAttr *A) { |
||
953 | return true; |
||
954 | } |
||
955 | bool TraverseObjCReturnsInnerPointerAttr(ObjCReturnsInnerPointerAttr *A); |
||
956 | bool VisitObjCReturnsInnerPointerAttr(ObjCReturnsInnerPointerAttr *A) { |
||
957 | return true; |
||
958 | } |
||
959 | bool TraverseObjCRootClassAttr(ObjCRootClassAttr *A); |
||
960 | bool VisitObjCRootClassAttr(ObjCRootClassAttr *A) { |
||
961 | return true; |
||
962 | } |
||
963 | bool TraverseObjCRuntimeNameAttr(ObjCRuntimeNameAttr *A); |
||
964 | bool VisitObjCRuntimeNameAttr(ObjCRuntimeNameAttr *A) { |
||
965 | return true; |
||
966 | } |
||
967 | bool TraverseObjCRuntimeVisibleAttr(ObjCRuntimeVisibleAttr *A); |
||
968 | bool VisitObjCRuntimeVisibleAttr(ObjCRuntimeVisibleAttr *A) { |
||
969 | return true; |
||
970 | } |
||
971 | bool TraverseObjCSubclassingRestrictedAttr(ObjCSubclassingRestrictedAttr *A); |
||
972 | bool VisitObjCSubclassingRestrictedAttr(ObjCSubclassingRestrictedAttr *A) { |
||
973 | return true; |
||
974 | } |
||
975 | bool TraverseOpenCLAccessAttr(OpenCLAccessAttr *A); |
||
976 | bool VisitOpenCLAccessAttr(OpenCLAccessAttr *A) { |
||
977 | return true; |
||
978 | } |
||
979 | bool TraverseOpenCLConstantAddressSpaceAttr(OpenCLConstantAddressSpaceAttr *A); |
||
980 | bool VisitOpenCLConstantAddressSpaceAttr(OpenCLConstantAddressSpaceAttr *A) { |
||
981 | return true; |
||
982 | } |
||
983 | bool TraverseOpenCLGenericAddressSpaceAttr(OpenCLGenericAddressSpaceAttr *A); |
||
984 | bool VisitOpenCLGenericAddressSpaceAttr(OpenCLGenericAddressSpaceAttr *A) { |
||
985 | return true; |
||
986 | } |
||
987 | bool TraverseOpenCLGlobalAddressSpaceAttr(OpenCLGlobalAddressSpaceAttr *A); |
||
988 | bool VisitOpenCLGlobalAddressSpaceAttr(OpenCLGlobalAddressSpaceAttr *A) { |
||
989 | return true; |
||
990 | } |
||
991 | bool TraverseOpenCLGlobalDeviceAddressSpaceAttr(OpenCLGlobalDeviceAddressSpaceAttr *A); |
||
992 | bool VisitOpenCLGlobalDeviceAddressSpaceAttr(OpenCLGlobalDeviceAddressSpaceAttr *A) { |
||
993 | return true; |
||
994 | } |
||
995 | bool TraverseOpenCLGlobalHostAddressSpaceAttr(OpenCLGlobalHostAddressSpaceAttr *A); |
||
996 | bool VisitOpenCLGlobalHostAddressSpaceAttr(OpenCLGlobalHostAddressSpaceAttr *A) { |
||
997 | return true; |
||
998 | } |
||
999 | bool TraverseOpenCLIntelReqdSubGroupSizeAttr(OpenCLIntelReqdSubGroupSizeAttr *A); |
||
1000 | bool VisitOpenCLIntelReqdSubGroupSizeAttr(OpenCLIntelReqdSubGroupSizeAttr *A) { |
||
1001 | return true; |
||
1002 | } |
||
1003 | bool TraverseOpenCLKernelAttr(OpenCLKernelAttr *A); |
||
1004 | bool VisitOpenCLKernelAttr(OpenCLKernelAttr *A) { |
||
1005 | return true; |
||
1006 | } |
||
1007 | bool TraverseOpenCLLocalAddressSpaceAttr(OpenCLLocalAddressSpaceAttr *A); |
||
1008 | bool VisitOpenCLLocalAddressSpaceAttr(OpenCLLocalAddressSpaceAttr *A) { |
||
1009 | return true; |
||
1010 | } |
||
1011 | bool TraverseOpenCLPrivateAddressSpaceAttr(OpenCLPrivateAddressSpaceAttr *A); |
||
1012 | bool VisitOpenCLPrivateAddressSpaceAttr(OpenCLPrivateAddressSpaceAttr *A) { |
||
1013 | return true; |
||
1014 | } |
||
1015 | bool TraverseOpenCLUnrollHintAttr(OpenCLUnrollHintAttr *A); |
||
1016 | bool VisitOpenCLUnrollHintAttr(OpenCLUnrollHintAttr *A) { |
||
1017 | return true; |
||
1018 | } |
||
1019 | bool TraverseOptimizeNoneAttr(OptimizeNoneAttr *A); |
||
1020 | bool VisitOptimizeNoneAttr(OptimizeNoneAttr *A) { |
||
1021 | return true; |
||
1022 | } |
||
1023 | bool TraverseOverloadableAttr(OverloadableAttr *A); |
||
1024 | bool VisitOverloadableAttr(OverloadableAttr *A) { |
||
1025 | return true; |
||
1026 | } |
||
1027 | bool TraverseOverrideAttr(OverrideAttr *A); |
||
1028 | bool VisitOverrideAttr(OverrideAttr *A) { |
||
1029 | return true; |
||
1030 | } |
||
1031 | bool TraverseOwnerAttr(OwnerAttr *A); |
||
1032 | bool VisitOwnerAttr(OwnerAttr *A) { |
||
1033 | return true; |
||
1034 | } |
||
1035 | bool TraverseOwnershipAttr(OwnershipAttr *A); |
||
1036 | bool VisitOwnershipAttr(OwnershipAttr *A) { |
||
1037 | return true; |
||
1038 | } |
||
1039 | bool TraversePackedAttr(PackedAttr *A); |
||
1040 | bool VisitPackedAttr(PackedAttr *A) { |
||
1041 | return true; |
||
1042 | } |
||
1043 | bool TraverseParamTypestateAttr(ParamTypestateAttr *A); |
||
1044 | bool VisitParamTypestateAttr(ParamTypestateAttr *A) { |
||
1045 | return true; |
||
1046 | } |
||
1047 | bool TraversePascalAttr(PascalAttr *A); |
||
1048 | bool VisitPascalAttr(PascalAttr *A) { |
||
1049 | return true; |
||
1050 | } |
||
1051 | bool TraversePassObjectSizeAttr(PassObjectSizeAttr *A); |
||
1052 | bool VisitPassObjectSizeAttr(PassObjectSizeAttr *A) { |
||
1053 | return true; |
||
1054 | } |
||
1055 | bool TraversePatchableFunctionEntryAttr(PatchableFunctionEntryAttr *A); |
||
1056 | bool VisitPatchableFunctionEntryAttr(PatchableFunctionEntryAttr *A) { |
||
1057 | return true; |
||
1058 | } |
||
1059 | bool TraversePcsAttr(PcsAttr *A); |
||
1060 | bool VisitPcsAttr(PcsAttr *A) { |
||
1061 | return true; |
||
1062 | } |
||
1063 | bool TraversePointerAttr(PointerAttr *A); |
||
1064 | bool VisitPointerAttr(PointerAttr *A) { |
||
1065 | return true; |
||
1066 | } |
||
1067 | bool TraversePragmaClangBSSSectionAttr(PragmaClangBSSSectionAttr *A); |
||
1068 | bool VisitPragmaClangBSSSectionAttr(PragmaClangBSSSectionAttr *A) { |
||
1069 | return true; |
||
1070 | } |
||
1071 | bool TraversePragmaClangDataSectionAttr(PragmaClangDataSectionAttr *A); |
||
1072 | bool VisitPragmaClangDataSectionAttr(PragmaClangDataSectionAttr *A) { |
||
1073 | return true; |
||
1074 | } |
||
1075 | bool TraversePragmaClangRelroSectionAttr(PragmaClangRelroSectionAttr *A); |
||
1076 | bool VisitPragmaClangRelroSectionAttr(PragmaClangRelroSectionAttr *A) { |
||
1077 | return true; |
||
1078 | } |
||
1079 | bool TraversePragmaClangRodataSectionAttr(PragmaClangRodataSectionAttr *A); |
||
1080 | bool VisitPragmaClangRodataSectionAttr(PragmaClangRodataSectionAttr *A) { |
||
1081 | return true; |
||
1082 | } |
||
1083 | bool TraversePragmaClangTextSectionAttr(PragmaClangTextSectionAttr *A); |
||
1084 | bool VisitPragmaClangTextSectionAttr(PragmaClangTextSectionAttr *A) { |
||
1085 | return true; |
||
1086 | } |
||
1087 | bool TraversePreferredNameAttr(PreferredNameAttr *A); |
||
1088 | bool VisitPreferredNameAttr(PreferredNameAttr *A) { |
||
1089 | return true; |
||
1090 | } |
||
1091 | bool TraversePreserveAllAttr(PreserveAllAttr *A); |
||
1092 | bool VisitPreserveAllAttr(PreserveAllAttr *A) { |
||
1093 | return true; |
||
1094 | } |
||
1095 | bool TraversePreserveMostAttr(PreserveMostAttr *A); |
||
1096 | bool VisitPreserveMostAttr(PreserveMostAttr *A) { |
||
1097 | return true; |
||
1098 | } |
||
1099 | bool TraversePtGuardedByAttr(PtGuardedByAttr *A); |
||
1100 | bool VisitPtGuardedByAttr(PtGuardedByAttr *A) { |
||
1101 | return true; |
||
1102 | } |
||
1103 | bool TraversePtGuardedVarAttr(PtGuardedVarAttr *A); |
||
1104 | bool VisitPtGuardedVarAttr(PtGuardedVarAttr *A) { |
||
1105 | return true; |
||
1106 | } |
||
1107 | bool TraversePtr32Attr(Ptr32Attr *A); |
||
1108 | bool VisitPtr32Attr(Ptr32Attr *A) { |
||
1109 | return true; |
||
1110 | } |
||
1111 | bool TraversePtr64Attr(Ptr64Attr *A); |
||
1112 | bool VisitPtr64Attr(Ptr64Attr *A) { |
||
1113 | return true; |
||
1114 | } |
||
1115 | bool TraversePureAttr(PureAttr *A); |
||
1116 | bool VisitPureAttr(PureAttr *A) { |
||
1117 | return true; |
||
1118 | } |
||
1119 | bool TraverseRISCVInterruptAttr(RISCVInterruptAttr *A); |
||
1120 | bool VisitRISCVInterruptAttr(RISCVInterruptAttr *A) { |
||
1121 | return true; |
||
1122 | } |
||
1123 | bool TraverseRandomizeLayoutAttr(RandomizeLayoutAttr *A); |
||
1124 | bool VisitRandomizeLayoutAttr(RandomizeLayoutAttr *A) { |
||
1125 | return true; |
||
1126 | } |
||
1127 | bool TraverseReadOnlyPlacementAttr(ReadOnlyPlacementAttr *A); |
||
1128 | bool VisitReadOnlyPlacementAttr(ReadOnlyPlacementAttr *A) { |
||
1129 | return true; |
||
1130 | } |
||
1131 | bool TraverseRegCallAttr(RegCallAttr *A); |
||
1132 | bool VisitRegCallAttr(RegCallAttr *A) { |
||
1133 | return true; |
||
1134 | } |
||
1135 | bool TraverseReinitializesAttr(ReinitializesAttr *A); |
||
1136 | bool VisitReinitializesAttr(ReinitializesAttr *A) { |
||
1137 | return true; |
||
1138 | } |
||
1139 | bool TraverseReleaseCapabilityAttr(ReleaseCapabilityAttr *A); |
||
1140 | bool VisitReleaseCapabilityAttr(ReleaseCapabilityAttr *A) { |
||
1141 | return true; |
||
1142 | } |
||
1143 | bool TraverseReleaseHandleAttr(ReleaseHandleAttr *A); |
||
1144 | bool VisitReleaseHandleAttr(ReleaseHandleAttr *A) { |
||
1145 | return true; |
||
1146 | } |
||
1147 | bool TraverseRenderScriptKernelAttr(RenderScriptKernelAttr *A); |
||
1148 | bool VisitRenderScriptKernelAttr(RenderScriptKernelAttr *A) { |
||
1149 | return true; |
||
1150 | } |
||
1151 | bool TraverseReqdWorkGroupSizeAttr(ReqdWorkGroupSizeAttr *A); |
||
1152 | bool VisitReqdWorkGroupSizeAttr(ReqdWorkGroupSizeAttr *A) { |
||
1153 | return true; |
||
1154 | } |
||
1155 | bool TraverseRequiresCapabilityAttr(RequiresCapabilityAttr *A); |
||
1156 | bool VisitRequiresCapabilityAttr(RequiresCapabilityAttr *A) { |
||
1157 | return true; |
||
1158 | } |
||
1159 | bool TraverseRestrictAttr(RestrictAttr *A); |
||
1160 | bool VisitRestrictAttr(RestrictAttr *A) { |
||
1161 | return true; |
||
1162 | } |
||
1163 | bool TraverseRetainAttr(RetainAttr *A); |
||
1164 | bool VisitRetainAttr(RetainAttr *A) { |
||
1165 | return true; |
||
1166 | } |
||
1167 | bool TraverseReturnTypestateAttr(ReturnTypestateAttr *A); |
||
1168 | bool VisitReturnTypestateAttr(ReturnTypestateAttr *A) { |
||
1169 | return true; |
||
1170 | } |
||
1171 | bool TraverseReturnsNonNullAttr(ReturnsNonNullAttr *A); |
||
1172 | bool VisitReturnsNonNullAttr(ReturnsNonNullAttr *A) { |
||
1173 | return true; |
||
1174 | } |
||
1175 | bool TraverseReturnsTwiceAttr(ReturnsTwiceAttr *A); |
||
1176 | bool VisitReturnsTwiceAttr(ReturnsTwiceAttr *A) { |
||
1177 | return true; |
||
1178 | } |
||
1179 | bool TraverseSPtrAttr(SPtrAttr *A); |
||
1180 | bool VisitSPtrAttr(SPtrAttr *A) { |
||
1181 | return true; |
||
1182 | } |
||
1183 | bool TraverseSYCLKernelAttr(SYCLKernelAttr *A); |
||
1184 | bool VisitSYCLKernelAttr(SYCLKernelAttr *A) { |
||
1185 | return true; |
||
1186 | } |
||
1187 | bool TraverseSYCLSpecialClassAttr(SYCLSpecialClassAttr *A); |
||
1188 | bool VisitSYCLSpecialClassAttr(SYCLSpecialClassAttr *A) { |
||
1189 | return true; |
||
1190 | } |
||
1191 | bool TraverseScopedLockableAttr(ScopedLockableAttr *A); |
||
1192 | bool VisitScopedLockableAttr(ScopedLockableAttr *A) { |
||
1193 | return true; |
||
1194 | } |
||
1195 | bool TraverseSectionAttr(SectionAttr *A); |
||
1196 | bool VisitSectionAttr(SectionAttr *A) { |
||
1197 | return true; |
||
1198 | } |
||
1199 | bool TraverseSelectAnyAttr(SelectAnyAttr *A); |
||
1200 | bool VisitSelectAnyAttr(SelectAnyAttr *A) { |
||
1201 | return true; |
||
1202 | } |
||
1203 | bool TraverseSentinelAttr(SentinelAttr *A); |
||
1204 | bool VisitSentinelAttr(SentinelAttr *A) { |
||
1205 | return true; |
||
1206 | } |
||
1207 | bool TraverseSetTypestateAttr(SetTypestateAttr *A); |
||
1208 | bool VisitSetTypestateAttr(SetTypestateAttr *A) { |
||
1209 | return true; |
||
1210 | } |
||
1211 | bool TraverseSharedTrylockFunctionAttr(SharedTrylockFunctionAttr *A); |
||
1212 | bool VisitSharedTrylockFunctionAttr(SharedTrylockFunctionAttr *A) { |
||
1213 | return true; |
||
1214 | } |
||
1215 | bool TraverseSpeculativeLoadHardeningAttr(SpeculativeLoadHardeningAttr *A); |
||
1216 | bool VisitSpeculativeLoadHardeningAttr(SpeculativeLoadHardeningAttr *A) { |
||
1217 | return true; |
||
1218 | } |
||
1219 | bool TraverseStandaloneDebugAttr(StandaloneDebugAttr *A); |
||
1220 | bool VisitStandaloneDebugAttr(StandaloneDebugAttr *A) { |
||
1221 | return true; |
||
1222 | } |
||
1223 | bool TraverseStdCallAttr(StdCallAttr *A); |
||
1224 | bool VisitStdCallAttr(StdCallAttr *A) { |
||
1225 | return true; |
||
1226 | } |
||
1227 | bool TraverseStrictFPAttr(StrictFPAttr *A); |
||
1228 | bool VisitStrictFPAttr(StrictFPAttr *A) { |
||
1229 | return true; |
||
1230 | } |
||
1231 | bool TraverseStrictGuardStackCheckAttr(StrictGuardStackCheckAttr *A); |
||
1232 | bool VisitStrictGuardStackCheckAttr(StrictGuardStackCheckAttr *A) { |
||
1233 | return true; |
||
1234 | } |
||
1235 | bool TraverseSuppressAttr(SuppressAttr *A); |
||
1236 | bool VisitSuppressAttr(SuppressAttr *A) { |
||
1237 | return true; |
||
1238 | } |
||
1239 | bool TraverseSwiftAsyncAttr(SwiftAsyncAttr *A); |
||
1240 | bool VisitSwiftAsyncAttr(SwiftAsyncAttr *A) { |
||
1241 | return true; |
||
1242 | } |
||
1243 | bool TraverseSwiftAsyncCallAttr(SwiftAsyncCallAttr *A); |
||
1244 | bool VisitSwiftAsyncCallAttr(SwiftAsyncCallAttr *A) { |
||
1245 | return true; |
||
1246 | } |
||
1247 | bool TraverseSwiftAsyncContextAttr(SwiftAsyncContextAttr *A); |
||
1248 | bool VisitSwiftAsyncContextAttr(SwiftAsyncContextAttr *A) { |
||
1249 | return true; |
||
1250 | } |
||
1251 | bool TraverseSwiftAsyncErrorAttr(SwiftAsyncErrorAttr *A); |
||
1252 | bool VisitSwiftAsyncErrorAttr(SwiftAsyncErrorAttr *A) { |
||
1253 | return true; |
||
1254 | } |
||
1255 | bool TraverseSwiftAsyncNameAttr(SwiftAsyncNameAttr *A); |
||
1256 | bool VisitSwiftAsyncNameAttr(SwiftAsyncNameAttr *A) { |
||
1257 | return true; |
||
1258 | } |
||
1259 | bool TraverseSwiftAttrAttr(SwiftAttrAttr *A); |
||
1260 | bool VisitSwiftAttrAttr(SwiftAttrAttr *A) { |
||
1261 | return true; |
||
1262 | } |
||
1263 | bool TraverseSwiftBridgeAttr(SwiftBridgeAttr *A); |
||
1264 | bool VisitSwiftBridgeAttr(SwiftBridgeAttr *A) { |
||
1265 | return true; |
||
1266 | } |
||
1267 | bool TraverseSwiftBridgedTypedefAttr(SwiftBridgedTypedefAttr *A); |
||
1268 | bool VisitSwiftBridgedTypedefAttr(SwiftBridgedTypedefAttr *A) { |
||
1269 | return true; |
||
1270 | } |
||
1271 | bool TraverseSwiftCallAttr(SwiftCallAttr *A); |
||
1272 | bool VisitSwiftCallAttr(SwiftCallAttr *A) { |
||
1273 | return true; |
||
1274 | } |
||
1275 | bool TraverseSwiftContextAttr(SwiftContextAttr *A); |
||
1276 | bool VisitSwiftContextAttr(SwiftContextAttr *A) { |
||
1277 | return true; |
||
1278 | } |
||
1279 | bool TraverseSwiftErrorAttr(SwiftErrorAttr *A); |
||
1280 | bool VisitSwiftErrorAttr(SwiftErrorAttr *A) { |
||
1281 | return true; |
||
1282 | } |
||
1283 | bool TraverseSwiftErrorResultAttr(SwiftErrorResultAttr *A); |
||
1284 | bool VisitSwiftErrorResultAttr(SwiftErrorResultAttr *A) { |
||
1285 | return true; |
||
1286 | } |
||
1287 | bool TraverseSwiftIndirectResultAttr(SwiftIndirectResultAttr *A); |
||
1288 | bool VisitSwiftIndirectResultAttr(SwiftIndirectResultAttr *A) { |
||
1289 | return true; |
||
1290 | } |
||
1291 | bool TraverseSwiftNameAttr(SwiftNameAttr *A); |
||
1292 | bool VisitSwiftNameAttr(SwiftNameAttr *A) { |
||
1293 | return true; |
||
1294 | } |
||
1295 | bool TraverseSwiftNewTypeAttr(SwiftNewTypeAttr *A); |
||
1296 | bool VisitSwiftNewTypeAttr(SwiftNewTypeAttr *A) { |
||
1297 | return true; |
||
1298 | } |
||
1299 | bool TraverseSwiftObjCMembersAttr(SwiftObjCMembersAttr *A); |
||
1300 | bool VisitSwiftObjCMembersAttr(SwiftObjCMembersAttr *A) { |
||
1301 | return true; |
||
1302 | } |
||
1303 | bool TraverseSwiftPrivateAttr(SwiftPrivateAttr *A); |
||
1304 | bool VisitSwiftPrivateAttr(SwiftPrivateAttr *A) { |
||
1305 | return true; |
||
1306 | } |
||
1307 | bool TraverseSysVABIAttr(SysVABIAttr *A); |
||
1308 | bool VisitSysVABIAttr(SysVABIAttr *A) { |
||
1309 | return true; |
||
1310 | } |
||
1311 | bool TraverseTLSModelAttr(TLSModelAttr *A); |
||
1312 | bool VisitTLSModelAttr(TLSModelAttr *A) { |
||
1313 | return true; |
||
1314 | } |
||
1315 | bool TraverseTargetAttr(TargetAttr *A); |
||
1316 | bool VisitTargetAttr(TargetAttr *A) { |
||
1317 | return true; |
||
1318 | } |
||
1319 | bool TraverseTargetClonesAttr(TargetClonesAttr *A); |
||
1320 | bool VisitTargetClonesAttr(TargetClonesAttr *A) { |
||
1321 | return true; |
||
1322 | } |
||
1323 | bool TraverseTargetVersionAttr(TargetVersionAttr *A); |
||
1324 | bool VisitTargetVersionAttr(TargetVersionAttr *A) { |
||
1325 | return true; |
||
1326 | } |
||
1327 | bool TraverseTestTypestateAttr(TestTypestateAttr *A); |
||
1328 | bool VisitTestTypestateAttr(TestTypestateAttr *A) { |
||
1329 | return true; |
||
1330 | } |
||
1331 | bool TraverseThisCallAttr(ThisCallAttr *A); |
||
1332 | bool VisitThisCallAttr(ThisCallAttr *A) { |
||
1333 | return true; |
||
1334 | } |
||
1335 | bool TraverseThreadAttr(ThreadAttr *A); |
||
1336 | bool VisitThreadAttr(ThreadAttr *A) { |
||
1337 | return true; |
||
1338 | } |
||
1339 | bool TraverseTransparentUnionAttr(TransparentUnionAttr *A); |
||
1340 | bool VisitTransparentUnionAttr(TransparentUnionAttr *A) { |
||
1341 | return true; |
||
1342 | } |
||
1343 | bool TraverseTrivialABIAttr(TrivialABIAttr *A); |
||
1344 | bool VisitTrivialABIAttr(TrivialABIAttr *A) { |
||
1345 | return true; |
||
1346 | } |
||
1347 | bool TraverseTryAcquireCapabilityAttr(TryAcquireCapabilityAttr *A); |
||
1348 | bool VisitTryAcquireCapabilityAttr(TryAcquireCapabilityAttr *A) { |
||
1349 | return true; |
||
1350 | } |
||
1351 | bool TraverseTypeNonNullAttr(TypeNonNullAttr *A); |
||
1352 | bool VisitTypeNonNullAttr(TypeNonNullAttr *A) { |
||
1353 | return true; |
||
1354 | } |
||
1355 | bool TraverseTypeNullUnspecifiedAttr(TypeNullUnspecifiedAttr *A); |
||
1356 | bool VisitTypeNullUnspecifiedAttr(TypeNullUnspecifiedAttr *A) { |
||
1357 | return true; |
||
1358 | } |
||
1359 | bool TraverseTypeNullableAttr(TypeNullableAttr *A); |
||
1360 | bool VisitTypeNullableAttr(TypeNullableAttr *A) { |
||
1361 | return true; |
||
1362 | } |
||
1363 | bool TraverseTypeNullableResultAttr(TypeNullableResultAttr *A); |
||
1364 | bool VisitTypeNullableResultAttr(TypeNullableResultAttr *A) { |
||
1365 | return true; |
||
1366 | } |
||
1367 | bool TraverseTypeTagForDatatypeAttr(TypeTagForDatatypeAttr *A); |
||
1368 | bool VisitTypeTagForDatatypeAttr(TypeTagForDatatypeAttr *A) { |
||
1369 | return true; |
||
1370 | } |
||
1371 | bool TraverseTypeVisibilityAttr(TypeVisibilityAttr *A); |
||
1372 | bool VisitTypeVisibilityAttr(TypeVisibilityAttr *A) { |
||
1373 | return true; |
||
1374 | } |
||
1375 | bool TraverseUPtrAttr(UPtrAttr *A); |
||
1376 | bool VisitUPtrAttr(UPtrAttr *A) { |
||
1377 | return true; |
||
1378 | } |
||
1379 | bool TraverseUnavailableAttr(UnavailableAttr *A); |
||
1380 | bool VisitUnavailableAttr(UnavailableAttr *A) { |
||
1381 | return true; |
||
1382 | } |
||
1383 | bool TraverseUninitializedAttr(UninitializedAttr *A); |
||
1384 | bool VisitUninitializedAttr(UninitializedAttr *A) { |
||
1385 | return true; |
||
1386 | } |
||
1387 | bool TraverseUnlikelyAttr(UnlikelyAttr *A); |
||
1388 | bool VisitUnlikelyAttr(UnlikelyAttr *A) { |
||
1389 | return true; |
||
1390 | } |
||
1391 | bool TraverseUnusedAttr(UnusedAttr *A); |
||
1392 | bool VisitUnusedAttr(UnusedAttr *A) { |
||
1393 | return true; |
||
1394 | } |
||
1395 | bool TraverseUseHandleAttr(UseHandleAttr *A); |
||
1396 | bool VisitUseHandleAttr(UseHandleAttr *A) { |
||
1397 | return true; |
||
1398 | } |
||
1399 | bool TraverseUsedAttr(UsedAttr *A); |
||
1400 | bool VisitUsedAttr(UsedAttr *A) { |
||
1401 | return true; |
||
1402 | } |
||
1403 | bool TraverseUsingIfExistsAttr(UsingIfExistsAttr *A); |
||
1404 | bool VisitUsingIfExistsAttr(UsingIfExistsAttr *A) { |
||
1405 | return true; |
||
1406 | } |
||
1407 | bool TraverseUuidAttr(UuidAttr *A); |
||
1408 | bool VisitUuidAttr(UuidAttr *A) { |
||
1409 | return true; |
||
1410 | } |
||
1411 | bool TraverseVecReturnAttr(VecReturnAttr *A); |
||
1412 | bool VisitVecReturnAttr(VecReturnAttr *A) { |
||
1413 | return true; |
||
1414 | } |
||
1415 | bool TraverseVecTypeHintAttr(VecTypeHintAttr *A); |
||
1416 | bool VisitVecTypeHintAttr(VecTypeHintAttr *A) { |
||
1417 | return true; |
||
1418 | } |
||
1419 | bool TraverseVectorCallAttr(VectorCallAttr *A); |
||
1420 | bool VisitVectorCallAttr(VectorCallAttr *A) { |
||
1421 | return true; |
||
1422 | } |
||
1423 | bool TraverseVisibilityAttr(VisibilityAttr *A); |
||
1424 | bool VisitVisibilityAttr(VisibilityAttr *A) { |
||
1425 | return true; |
||
1426 | } |
||
1427 | bool TraverseWarnUnusedAttr(WarnUnusedAttr *A); |
||
1428 | bool VisitWarnUnusedAttr(WarnUnusedAttr *A) { |
||
1429 | return true; |
||
1430 | } |
||
1431 | bool TraverseWarnUnusedResultAttr(WarnUnusedResultAttr *A); |
||
1432 | bool VisitWarnUnusedResultAttr(WarnUnusedResultAttr *A) { |
||
1433 | return true; |
||
1434 | } |
||
1435 | bool TraverseWeakAttr(WeakAttr *A); |
||
1436 | bool VisitWeakAttr(WeakAttr *A) { |
||
1437 | return true; |
||
1438 | } |
||
1439 | bool TraverseWeakImportAttr(WeakImportAttr *A); |
||
1440 | bool VisitWeakImportAttr(WeakImportAttr *A) { |
||
1441 | return true; |
||
1442 | } |
||
1443 | bool TraverseWeakRefAttr(WeakRefAttr *A); |
||
1444 | bool VisitWeakRefAttr(WeakRefAttr *A) { |
||
1445 | return true; |
||
1446 | } |
||
1447 | bool TraverseWebAssemblyExportNameAttr(WebAssemblyExportNameAttr *A); |
||
1448 | bool VisitWebAssemblyExportNameAttr(WebAssemblyExportNameAttr *A) { |
||
1449 | return true; |
||
1450 | } |
||
1451 | bool TraverseWebAssemblyImportModuleAttr(WebAssemblyImportModuleAttr *A); |
||
1452 | bool VisitWebAssemblyImportModuleAttr(WebAssemblyImportModuleAttr *A) { |
||
1453 | return true; |
||
1454 | } |
||
1455 | bool TraverseWebAssemblyImportNameAttr(WebAssemblyImportNameAttr *A); |
||
1456 | bool VisitWebAssemblyImportNameAttr(WebAssemblyImportNameAttr *A) { |
||
1457 | return true; |
||
1458 | } |
||
1459 | bool TraverseWorkGroupSizeHintAttr(WorkGroupSizeHintAttr *A); |
||
1460 | bool VisitWorkGroupSizeHintAttr(WorkGroupSizeHintAttr *A) { |
||
1461 | return true; |
||
1462 | } |
||
1463 | bool TraverseX86ForceAlignArgPointerAttr(X86ForceAlignArgPointerAttr *A); |
||
1464 | bool VisitX86ForceAlignArgPointerAttr(X86ForceAlignArgPointerAttr *A) { |
||
1465 | return true; |
||
1466 | } |
||
1467 | bool TraverseXRayInstrumentAttr(XRayInstrumentAttr *A); |
||
1468 | bool VisitXRayInstrumentAttr(XRayInstrumentAttr *A) { |
||
1469 | return true; |
||
1470 | } |
||
1471 | bool TraverseXRayLogArgsAttr(XRayLogArgsAttr *A); |
||
1472 | bool VisitXRayLogArgsAttr(XRayLogArgsAttr *A) { |
||
1473 | return true; |
||
1474 | } |
||
1475 | bool TraverseZeroCallUsedRegsAttr(ZeroCallUsedRegsAttr *A); |
||
1476 | bool VisitZeroCallUsedRegsAttr(ZeroCallUsedRegsAttr *A) { |
||
1477 | return true; |
||
1478 | } |
||
1479 | |||
1480 | #else // ATTR_VISITOR_DECLS_ONLY |
||
1481 | |||
1482 | template <typename Derived> |
||
1483 | bool VISITORCLASS<Derived>::TraverseAArch64SVEPcsAttr(AArch64SVEPcsAttr *A) { |
||
1484 | if (!getDerived().VisitAttr(A)) |
||
1485 | return false; |
||
1486 | if (!getDerived().VisitAArch64SVEPcsAttr(A)) |
||
1487 | return false; |
||
1488 | return true; |
||
1489 | } |
||
1490 | |||
1491 | template <typename Derived> |
||
1492 | bool VISITORCLASS<Derived>::TraverseAArch64VectorPcsAttr(AArch64VectorPcsAttr *A) { |
||
1493 | if (!getDerived().VisitAttr(A)) |
||
1494 | return false; |
||
1495 | if (!getDerived().VisitAArch64VectorPcsAttr(A)) |
||
1496 | return false; |
||
1497 | return true; |
||
1498 | } |
||
1499 | |||
1500 | template <typename Derived> |
||
1501 | bool VISITORCLASS<Derived>::TraverseAMDGPUFlatWorkGroupSizeAttr(AMDGPUFlatWorkGroupSizeAttr *A) { |
||
1502 | if (!getDerived().VisitAttr(A)) |
||
1503 | return false; |
||
1504 | if (!getDerived().VisitAMDGPUFlatWorkGroupSizeAttr(A)) |
||
1505 | return false; |
||
1506 | if (!getDerived().TraverseStmt(A->getMin())) |
||
1507 | return false; |
||
1508 | if (!getDerived().TraverseStmt(A->getMax())) |
||
1509 | return false; |
||
1510 | return true; |
||
1511 | } |
||
1512 | |||
1513 | template <typename Derived> |
||
1514 | bool VISITORCLASS<Derived>::TraverseAMDGPUKernelCallAttr(AMDGPUKernelCallAttr *A) { |
||
1515 | if (!getDerived().VisitAttr(A)) |
||
1516 | return false; |
||
1517 | if (!getDerived().VisitAMDGPUKernelCallAttr(A)) |
||
1518 | return false; |
||
1519 | return true; |
||
1520 | } |
||
1521 | |||
1522 | template <typename Derived> |
||
1523 | bool VISITORCLASS<Derived>::TraverseAMDGPUNumSGPRAttr(AMDGPUNumSGPRAttr *A) { |
||
1524 | if (!getDerived().VisitAttr(A)) |
||
1525 | return false; |
||
1526 | if (!getDerived().VisitAMDGPUNumSGPRAttr(A)) |
||
1527 | return false; |
||
1528 | return true; |
||
1529 | } |
||
1530 | |||
1531 | template <typename Derived> |
||
1532 | bool VISITORCLASS<Derived>::TraverseAMDGPUNumVGPRAttr(AMDGPUNumVGPRAttr *A) { |
||
1533 | if (!getDerived().VisitAttr(A)) |
||
1534 | return false; |
||
1535 | if (!getDerived().VisitAMDGPUNumVGPRAttr(A)) |
||
1536 | return false; |
||
1537 | return true; |
||
1538 | } |
||
1539 | |||
1540 | template <typename Derived> |
||
1541 | bool VISITORCLASS<Derived>::TraverseAMDGPUWavesPerEUAttr(AMDGPUWavesPerEUAttr *A) { |
||
1542 | if (!getDerived().VisitAttr(A)) |
||
1543 | return false; |
||
1544 | if (!getDerived().VisitAMDGPUWavesPerEUAttr(A)) |
||
1545 | return false; |
||
1546 | if (!getDerived().TraverseStmt(A->getMin())) |
||
1547 | return false; |
||
1548 | if (!getDerived().TraverseStmt(A->getMax())) |
||
1549 | return false; |
||
1550 | return true; |
||
1551 | } |
||
1552 | |||
1553 | template <typename Derived> |
||
1554 | bool VISITORCLASS<Derived>::TraverseARMInterruptAttr(ARMInterruptAttr *A) { |
||
1555 | if (!getDerived().VisitAttr(A)) |
||
1556 | return false; |
||
1557 | if (!getDerived().VisitARMInterruptAttr(A)) |
||
1558 | return false; |
||
1559 | return true; |
||
1560 | } |
||
1561 | |||
1562 | template <typename Derived> |
||
1563 | bool VISITORCLASS<Derived>::TraverseAVRInterruptAttr(AVRInterruptAttr *A) { |
||
1564 | if (!getDerived().VisitAttr(A)) |
||
1565 | return false; |
||
1566 | if (!getDerived().VisitAVRInterruptAttr(A)) |
||
1567 | return false; |
||
1568 | return true; |
||
1569 | } |
||
1570 | |||
1571 | template <typename Derived> |
||
1572 | bool VISITORCLASS<Derived>::TraverseAVRSignalAttr(AVRSignalAttr *A) { |
||
1573 | if (!getDerived().VisitAttr(A)) |
||
1574 | return false; |
||
1575 | if (!getDerived().VisitAVRSignalAttr(A)) |
||
1576 | return false; |
||
1577 | return true; |
||
1578 | } |
||
1579 | |||
1580 | template <typename Derived> |
||
1581 | bool VISITORCLASS<Derived>::TraverseAbiTagAttr(AbiTagAttr *A) { |
||
1582 | if (!getDerived().VisitAttr(A)) |
||
1583 | return false; |
||
1584 | if (!getDerived().VisitAbiTagAttr(A)) |
||
1585 | return false; |
||
1586 | return true; |
||
1587 | } |
||
1588 | |||
1589 | template <typename Derived> |
||
1590 | bool VISITORCLASS<Derived>::TraverseAcquireCapabilityAttr(AcquireCapabilityAttr *A) { |
||
1591 | if (!getDerived().VisitAttr(A)) |
||
1592 | return false; |
||
1593 | if (!getDerived().VisitAcquireCapabilityAttr(A)) |
||
1594 | return false; |
||
1595 | { |
||
1596 | Expr * *I = A->args_begin(); |
||
1597 | Expr * *E = A->args_end(); |
||
1598 | for (; I != E; ++I) { |
||
1599 | if (!getDerived().TraverseStmt(*I)) |
||
1600 | return false; |
||
1601 | } |
||
1602 | } |
||
1603 | return true; |
||
1604 | } |
||
1605 | |||
1606 | template <typename Derived> |
||
1607 | bool VISITORCLASS<Derived>::TraverseAcquireHandleAttr(AcquireHandleAttr *A) { |
||
1608 | if (!getDerived().VisitAttr(A)) |
||
1609 | return false; |
||
1610 | if (!getDerived().VisitAcquireHandleAttr(A)) |
||
1611 | return false; |
||
1612 | return true; |
||
1613 | } |
||
1614 | |||
1615 | template <typename Derived> |
||
1616 | bool VISITORCLASS<Derived>::TraverseAcquiredAfterAttr(AcquiredAfterAttr *A) { |
||
1617 | if (!getDerived().VisitAttr(A)) |
||
1618 | return false; |
||
1619 | if (!getDerived().VisitAcquiredAfterAttr(A)) |
||
1620 | return false; |
||
1621 | { |
||
1622 | Expr * *I = A->args_begin(); |
||
1623 | Expr * *E = A->args_end(); |
||
1624 | for (; I != E; ++I) { |
||
1625 | if (!getDerived().TraverseStmt(*I)) |
||
1626 | return false; |
||
1627 | } |
||
1628 | } |
||
1629 | return true; |
||
1630 | } |
||
1631 | |||
1632 | template <typename Derived> |
||
1633 | bool VISITORCLASS<Derived>::TraverseAcquiredBeforeAttr(AcquiredBeforeAttr *A) { |
||
1634 | if (!getDerived().VisitAttr(A)) |
||
1635 | return false; |
||
1636 | if (!getDerived().VisitAcquiredBeforeAttr(A)) |
||
1637 | return false; |
||
1638 | { |
||
1639 | Expr * *I = A->args_begin(); |
||
1640 | Expr * *E = A->args_end(); |
||
1641 | for (; I != E; ++I) { |
||
1642 | if (!getDerived().TraverseStmt(*I)) |
||
1643 | return false; |
||
1644 | } |
||
1645 | } |
||
1646 | return true; |
||
1647 | } |
||
1648 | |||
1649 | template <typename Derived> |
||
1650 | bool VISITORCLASS<Derived>::TraverseAddressSpaceAttr(AddressSpaceAttr *A) { |
||
1651 | if (!getDerived().VisitAttr(A)) |
||
1652 | return false; |
||
1653 | if (!getDerived().VisitAddressSpaceAttr(A)) |
||
1654 | return false; |
||
1655 | return true; |
||
1656 | } |
||
1657 | |||
1658 | template <typename Derived> |
||
1659 | bool VISITORCLASS<Derived>::TraverseAliasAttr(AliasAttr *A) { |
||
1660 | if (!getDerived().VisitAttr(A)) |
||
1661 | return false; |
||
1662 | if (!getDerived().VisitAliasAttr(A)) |
||
1663 | return false; |
||
1664 | return true; |
||
1665 | } |
||
1666 | |||
1667 | template <typename Derived> |
||
1668 | bool VISITORCLASS<Derived>::TraverseAlignMac68kAttr(AlignMac68kAttr *A) { |
||
1669 | if (!getDerived().VisitAttr(A)) |
||
1670 | return false; |
||
1671 | if (!getDerived().VisitAlignMac68kAttr(A)) |
||
1672 | return false; |
||
1673 | return true; |
||
1674 | } |
||
1675 | |||
1676 | template <typename Derived> |
||
1677 | bool VISITORCLASS<Derived>::TraverseAlignNaturalAttr(AlignNaturalAttr *A) { |
||
1678 | if (!getDerived().VisitAttr(A)) |
||
1679 | return false; |
||
1680 | if (!getDerived().VisitAlignNaturalAttr(A)) |
||
1681 | return false; |
||
1682 | return true; |
||
1683 | } |
||
1684 | |||
1685 | template <typename Derived> |
||
1686 | bool VISITORCLASS<Derived>::TraverseAlignValueAttr(AlignValueAttr *A) { |
||
1687 | if (!getDerived().VisitAttr(A)) |
||
1688 | return false; |
||
1689 | if (!getDerived().VisitAlignValueAttr(A)) |
||
1690 | return false; |
||
1691 | if (!getDerived().TraverseStmt(A->getAlignment())) |
||
1692 | return false; |
||
1693 | return true; |
||
1694 | } |
||
1695 | |||
1696 | template <typename Derived> |
||
1697 | bool VISITORCLASS<Derived>::TraverseAlignedAttr(AlignedAttr *A) { |
||
1698 | if (!getDerived().VisitAttr(A)) |
||
1699 | return false; |
||
1700 | if (!getDerived().VisitAlignedAttr(A)) |
||
1701 | return false; |
||
1702 | if (A->isAlignmentExpr()) { |
||
1703 | if (!getDerived().TraverseStmt(A->getAlignmentExpr())) |
||
1704 | return false; |
||
1705 | } else if (auto *TSI = A->getAlignmentType()) { |
||
1706 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
1707 | return false; |
||
1708 | } |
||
1709 | return true; |
||
1710 | } |
||
1711 | |||
1712 | template <typename Derived> |
||
1713 | bool VISITORCLASS<Derived>::TraverseAllocAlignAttr(AllocAlignAttr *A) { |
||
1714 | if (!getDerived().VisitAttr(A)) |
||
1715 | return false; |
||
1716 | if (!getDerived().VisitAllocAlignAttr(A)) |
||
1717 | return false; |
||
1718 | return true; |
||
1719 | } |
||
1720 | |||
1721 | template <typename Derived> |
||
1722 | bool VISITORCLASS<Derived>::TraverseAllocSizeAttr(AllocSizeAttr *A) { |
||
1723 | if (!getDerived().VisitAttr(A)) |
||
1724 | return false; |
||
1725 | if (!getDerived().VisitAllocSizeAttr(A)) |
||
1726 | return false; |
||
1727 | return true; |
||
1728 | } |
||
1729 | |||
1730 | template <typename Derived> |
||
1731 | bool VISITORCLASS<Derived>::TraverseAlwaysDestroyAttr(AlwaysDestroyAttr *A) { |
||
1732 | if (!getDerived().VisitAttr(A)) |
||
1733 | return false; |
||
1734 | if (!getDerived().VisitAlwaysDestroyAttr(A)) |
||
1735 | return false; |
||
1736 | return true; |
||
1737 | } |
||
1738 | |||
1739 | template <typename Derived> |
||
1740 | bool VISITORCLASS<Derived>::TraverseAlwaysInlineAttr(AlwaysInlineAttr *A) { |
||
1741 | if (!getDerived().VisitAttr(A)) |
||
1742 | return false; |
||
1743 | if (!getDerived().VisitAlwaysInlineAttr(A)) |
||
1744 | return false; |
||
1745 | return true; |
||
1746 | } |
||
1747 | |||
1748 | template <typename Derived> |
||
1749 | bool VISITORCLASS<Derived>::TraverseAnalyzerNoReturnAttr(AnalyzerNoReturnAttr *A) { |
||
1750 | if (!getDerived().VisitAttr(A)) |
||
1751 | return false; |
||
1752 | if (!getDerived().VisitAnalyzerNoReturnAttr(A)) |
||
1753 | return false; |
||
1754 | return true; |
||
1755 | } |
||
1756 | |||
1757 | template <typename Derived> |
||
1758 | bool VISITORCLASS<Derived>::TraverseAnnotateAttr(AnnotateAttr *A) { |
||
1759 | if (!getDerived().VisitAttr(A)) |
||
1760 | return false; |
||
1761 | if (!getDerived().VisitAnnotateAttr(A)) |
||
1762 | return false; |
||
1763 | { |
||
1764 | Expr * *I = A->args_begin(); |
||
1765 | Expr * *E = A->args_end(); |
||
1766 | for (; I != E; ++I) { |
||
1767 | if (!getDerived().TraverseStmt(*I)) |
||
1768 | return false; |
||
1769 | } |
||
1770 | } |
||
1771 | { |
||
1772 | Expr * *I = A->delayedArgs_begin(); |
||
1773 | Expr * *E = A->delayedArgs_end(); |
||
1774 | for (; I != E; ++I) { |
||
1775 | if (!getDerived().TraverseStmt(*I)) |
||
1776 | return false; |
||
1777 | } |
||
1778 | } |
||
1779 | return true; |
||
1780 | } |
||
1781 | |||
1782 | template <typename Derived> |
||
1783 | bool VISITORCLASS<Derived>::TraverseAnnotateTypeAttr(AnnotateTypeAttr *A) { |
||
1784 | if (!getDerived().VisitAttr(A)) |
||
1785 | return false; |
||
1786 | if (!getDerived().VisitAnnotateTypeAttr(A)) |
||
1787 | return false; |
||
1788 | { |
||
1789 | Expr * *I = A->args_begin(); |
||
1790 | Expr * *E = A->args_end(); |
||
1791 | for (; I != E; ++I) { |
||
1792 | if (!getDerived().TraverseStmt(*I)) |
||
1793 | return false; |
||
1794 | } |
||
1795 | } |
||
1796 | { |
||
1797 | Expr * *I = A->delayedArgs_begin(); |
||
1798 | Expr * *E = A->delayedArgs_end(); |
||
1799 | for (; I != E; ++I) { |
||
1800 | if (!getDerived().TraverseStmt(*I)) |
||
1801 | return false; |
||
1802 | } |
||
1803 | } |
||
1804 | return true; |
||
1805 | } |
||
1806 | |||
1807 | template <typename Derived> |
||
1808 | bool VISITORCLASS<Derived>::TraverseAnyX86InterruptAttr(AnyX86InterruptAttr *A) { |
||
1809 | if (!getDerived().VisitAttr(A)) |
||
1810 | return false; |
||
1811 | if (!getDerived().VisitAnyX86InterruptAttr(A)) |
||
1812 | return false; |
||
1813 | return true; |
||
1814 | } |
||
1815 | |||
1816 | template <typename Derived> |
||
1817 | bool VISITORCLASS<Derived>::TraverseAnyX86NoCallerSavedRegistersAttr(AnyX86NoCallerSavedRegistersAttr *A) { |
||
1818 | if (!getDerived().VisitAttr(A)) |
||
1819 | return false; |
||
1820 | if (!getDerived().VisitAnyX86NoCallerSavedRegistersAttr(A)) |
||
1821 | return false; |
||
1822 | return true; |
||
1823 | } |
||
1824 | |||
1825 | template <typename Derived> |
||
1826 | bool VISITORCLASS<Derived>::TraverseAnyX86NoCfCheckAttr(AnyX86NoCfCheckAttr *A) { |
||
1827 | if (!getDerived().VisitAttr(A)) |
||
1828 | return false; |
||
1829 | if (!getDerived().VisitAnyX86NoCfCheckAttr(A)) |
||
1830 | return false; |
||
1831 | return true; |
||
1832 | } |
||
1833 | |||
1834 | template <typename Derived> |
||
1835 | bool VISITORCLASS<Derived>::TraverseArcWeakrefUnavailableAttr(ArcWeakrefUnavailableAttr *A) { |
||
1836 | if (!getDerived().VisitAttr(A)) |
||
1837 | return false; |
||
1838 | if (!getDerived().VisitArcWeakrefUnavailableAttr(A)) |
||
1839 | return false; |
||
1840 | return true; |
||
1841 | } |
||
1842 | |||
1843 | template <typename Derived> |
||
1844 | bool VISITORCLASS<Derived>::TraverseArgumentWithTypeTagAttr(ArgumentWithTypeTagAttr *A) { |
||
1845 | if (!getDerived().VisitAttr(A)) |
||
1846 | return false; |
||
1847 | if (!getDerived().VisitArgumentWithTypeTagAttr(A)) |
||
1848 | return false; |
||
1849 | return true; |
||
1850 | } |
||
1851 | |||
1852 | template <typename Derived> |
||
1853 | bool VISITORCLASS<Derived>::TraverseArmBuiltinAliasAttr(ArmBuiltinAliasAttr *A) { |
||
1854 | if (!getDerived().VisitAttr(A)) |
||
1855 | return false; |
||
1856 | if (!getDerived().VisitArmBuiltinAliasAttr(A)) |
||
1857 | return false; |
||
1858 | return true; |
||
1859 | } |
||
1860 | |||
1861 | template <typename Derived> |
||
1862 | bool VISITORCLASS<Derived>::TraverseArmMveStrictPolymorphismAttr(ArmMveStrictPolymorphismAttr *A) { |
||
1863 | if (!getDerived().VisitAttr(A)) |
||
1864 | return false; |
||
1865 | if (!getDerived().VisitArmMveStrictPolymorphismAttr(A)) |
||
1866 | return false; |
||
1867 | return true; |
||
1868 | } |
||
1869 | |||
1870 | template <typename Derived> |
||
1871 | bool VISITORCLASS<Derived>::TraverseArtificialAttr(ArtificialAttr *A) { |
||
1872 | if (!getDerived().VisitAttr(A)) |
||
1873 | return false; |
||
1874 | if (!getDerived().VisitArtificialAttr(A)) |
||
1875 | return false; |
||
1876 | return true; |
||
1877 | } |
||
1878 | |||
1879 | template <typename Derived> |
||
1880 | bool VISITORCLASS<Derived>::TraverseAsmLabelAttr(AsmLabelAttr *A) { |
||
1881 | if (!getDerived().VisitAttr(A)) |
||
1882 | return false; |
||
1883 | if (!getDerived().VisitAsmLabelAttr(A)) |
||
1884 | return false; |
||
1885 | return true; |
||
1886 | } |
||
1887 | |||
1888 | template <typename Derived> |
||
1889 | bool VISITORCLASS<Derived>::TraverseAssertCapabilityAttr(AssertCapabilityAttr *A) { |
||
1890 | if (!getDerived().VisitAttr(A)) |
||
1891 | return false; |
||
1892 | if (!getDerived().VisitAssertCapabilityAttr(A)) |
||
1893 | return false; |
||
1894 | { |
||
1895 | Expr * *I = A->args_begin(); |
||
1896 | Expr * *E = A->args_end(); |
||
1897 | for (; I != E; ++I) { |
||
1898 | if (!getDerived().TraverseStmt(*I)) |
||
1899 | return false; |
||
1900 | } |
||
1901 | } |
||
1902 | return true; |
||
1903 | } |
||
1904 | |||
1905 | template <typename Derived> |
||
1906 | bool VISITORCLASS<Derived>::TraverseAssertExclusiveLockAttr(AssertExclusiveLockAttr *A) { |
||
1907 | if (!getDerived().VisitAttr(A)) |
||
1908 | return false; |
||
1909 | if (!getDerived().VisitAssertExclusiveLockAttr(A)) |
||
1910 | return false; |
||
1911 | { |
||
1912 | Expr * *I = A->args_begin(); |
||
1913 | Expr * *E = A->args_end(); |
||
1914 | for (; I != E; ++I) { |
||
1915 | if (!getDerived().TraverseStmt(*I)) |
||
1916 | return false; |
||
1917 | } |
||
1918 | } |
||
1919 | return true; |
||
1920 | } |
||
1921 | |||
1922 | template <typename Derived> |
||
1923 | bool VISITORCLASS<Derived>::TraverseAssertSharedLockAttr(AssertSharedLockAttr *A) { |
||
1924 | if (!getDerived().VisitAttr(A)) |
||
1925 | return false; |
||
1926 | if (!getDerived().VisitAssertSharedLockAttr(A)) |
||
1927 | return false; |
||
1928 | { |
||
1929 | Expr * *I = A->args_begin(); |
||
1930 | Expr * *E = A->args_end(); |
||
1931 | for (; I != E; ++I) { |
||
1932 | if (!getDerived().TraverseStmt(*I)) |
||
1933 | return false; |
||
1934 | } |
||
1935 | } |
||
1936 | return true; |
||
1937 | } |
||
1938 | |||
1939 | template <typename Derived> |
||
1940 | bool VISITORCLASS<Derived>::TraverseAssumeAlignedAttr(AssumeAlignedAttr *A) { |
||
1941 | if (!getDerived().VisitAttr(A)) |
||
1942 | return false; |
||
1943 | if (!getDerived().VisitAssumeAlignedAttr(A)) |
||
1944 | return false; |
||
1945 | if (!getDerived().TraverseStmt(A->getAlignment())) |
||
1946 | return false; |
||
1947 | if (!getDerived().TraverseStmt(A->getOffset())) |
||
1948 | return false; |
||
1949 | return true; |
||
1950 | } |
||
1951 | |||
1952 | template <typename Derived> |
||
1953 | bool VISITORCLASS<Derived>::TraverseAssumptionAttr(AssumptionAttr *A) { |
||
1954 | if (!getDerived().VisitAttr(A)) |
||
1955 | return false; |
||
1956 | if (!getDerived().VisitAssumptionAttr(A)) |
||
1957 | return false; |
||
1958 | return true; |
||
1959 | } |
||
1960 | |||
1961 | template <typename Derived> |
||
1962 | bool VISITORCLASS<Derived>::TraverseAvailabilityAttr(AvailabilityAttr *A) { |
||
1963 | if (!getDerived().VisitAttr(A)) |
||
1964 | return false; |
||
1965 | if (!getDerived().VisitAvailabilityAttr(A)) |
||
1966 | return false; |
||
1967 | return true; |
||
1968 | } |
||
1969 | |||
1970 | template <typename Derived> |
||
1971 | bool VISITORCLASS<Derived>::TraverseBPFPreserveAccessIndexAttr(BPFPreserveAccessIndexAttr *A) { |
||
1972 | if (!getDerived().VisitAttr(A)) |
||
1973 | return false; |
||
1974 | if (!getDerived().VisitBPFPreserveAccessIndexAttr(A)) |
||
1975 | return false; |
||
1976 | return true; |
||
1977 | } |
||
1978 | |||
1979 | template <typename Derived> |
||
1980 | bool VISITORCLASS<Derived>::TraverseBTFDeclTagAttr(BTFDeclTagAttr *A) { |
||
1981 | if (!getDerived().VisitAttr(A)) |
||
1982 | return false; |
||
1983 | if (!getDerived().VisitBTFDeclTagAttr(A)) |
||
1984 | return false; |
||
1985 | return true; |
||
1986 | } |
||
1987 | |||
1988 | template <typename Derived> |
||
1989 | bool VISITORCLASS<Derived>::TraverseBTFTypeTagAttr(BTFTypeTagAttr *A) { |
||
1990 | if (!getDerived().VisitAttr(A)) |
||
1991 | return false; |
||
1992 | if (!getDerived().VisitBTFTypeTagAttr(A)) |
||
1993 | return false; |
||
1994 | return true; |
||
1995 | } |
||
1996 | |||
1997 | template <typename Derived> |
||
1998 | bool VISITORCLASS<Derived>::TraverseBlocksAttr(BlocksAttr *A) { |
||
1999 | if (!getDerived().VisitAttr(A)) |
||
2000 | return false; |
||
2001 | if (!getDerived().VisitBlocksAttr(A)) |
||
2002 | return false; |
||
2003 | return true; |
||
2004 | } |
||
2005 | |||
2006 | template <typename Derived> |
||
2007 | bool VISITORCLASS<Derived>::TraverseBuiltinAttr(BuiltinAttr *A) { |
||
2008 | if (!getDerived().VisitAttr(A)) |
||
2009 | return false; |
||
2010 | if (!getDerived().VisitBuiltinAttr(A)) |
||
2011 | return false; |
||
2012 | return true; |
||
2013 | } |
||
2014 | |||
2015 | template <typename Derived> |
||
2016 | bool VISITORCLASS<Derived>::TraverseBuiltinAliasAttr(BuiltinAliasAttr *A) { |
||
2017 | if (!getDerived().VisitAttr(A)) |
||
2018 | return false; |
||
2019 | if (!getDerived().VisitBuiltinAliasAttr(A)) |
||
2020 | return false; |
||
2021 | return true; |
||
2022 | } |
||
2023 | |||
2024 | template <typename Derived> |
||
2025 | bool VISITORCLASS<Derived>::TraverseC11NoReturnAttr(C11NoReturnAttr *A) { |
||
2026 | if (!getDerived().VisitAttr(A)) |
||
2027 | return false; |
||
2028 | if (!getDerived().VisitC11NoReturnAttr(A)) |
||
2029 | return false; |
||
2030 | return true; |
||
2031 | } |
||
2032 | |||
2033 | template <typename Derived> |
||
2034 | bool VISITORCLASS<Derived>::TraverseCDeclAttr(CDeclAttr *A) { |
||
2035 | if (!getDerived().VisitAttr(A)) |
||
2036 | return false; |
||
2037 | if (!getDerived().VisitCDeclAttr(A)) |
||
2038 | return false; |
||
2039 | return true; |
||
2040 | } |
||
2041 | |||
2042 | template <typename Derived> |
||
2043 | bool VISITORCLASS<Derived>::TraverseCFAuditedTransferAttr(CFAuditedTransferAttr *A) { |
||
2044 | if (!getDerived().VisitAttr(A)) |
||
2045 | return false; |
||
2046 | if (!getDerived().VisitCFAuditedTransferAttr(A)) |
||
2047 | return false; |
||
2048 | return true; |
||
2049 | } |
||
2050 | |||
2051 | template <typename Derived> |
||
2052 | bool VISITORCLASS<Derived>::TraverseCFConsumedAttr(CFConsumedAttr *A) { |
||
2053 | if (!getDerived().VisitAttr(A)) |
||
2054 | return false; |
||
2055 | if (!getDerived().VisitCFConsumedAttr(A)) |
||
2056 | return false; |
||
2057 | return true; |
||
2058 | } |
||
2059 | |||
2060 | template <typename Derived> |
||
2061 | bool VISITORCLASS<Derived>::TraverseCFGuardAttr(CFGuardAttr *A) { |
||
2062 | if (!getDerived().VisitAttr(A)) |
||
2063 | return false; |
||
2064 | if (!getDerived().VisitCFGuardAttr(A)) |
||
2065 | return false; |
||
2066 | return true; |
||
2067 | } |
||
2068 | |||
2069 | template <typename Derived> |
||
2070 | bool VISITORCLASS<Derived>::TraverseCFICanonicalJumpTableAttr(CFICanonicalJumpTableAttr *A) { |
||
2071 | if (!getDerived().VisitAttr(A)) |
||
2072 | return false; |
||
2073 | if (!getDerived().VisitCFICanonicalJumpTableAttr(A)) |
||
2074 | return false; |
||
2075 | return true; |
||
2076 | } |
||
2077 | |||
2078 | template <typename Derived> |
||
2079 | bool VISITORCLASS<Derived>::TraverseCFReturnsNotRetainedAttr(CFReturnsNotRetainedAttr *A) { |
||
2080 | if (!getDerived().VisitAttr(A)) |
||
2081 | return false; |
||
2082 | if (!getDerived().VisitCFReturnsNotRetainedAttr(A)) |
||
2083 | return false; |
||
2084 | return true; |
||
2085 | } |
||
2086 | |||
2087 | template <typename Derived> |
||
2088 | bool VISITORCLASS<Derived>::TraverseCFReturnsRetainedAttr(CFReturnsRetainedAttr *A) { |
||
2089 | if (!getDerived().VisitAttr(A)) |
||
2090 | return false; |
||
2091 | if (!getDerived().VisitCFReturnsRetainedAttr(A)) |
||
2092 | return false; |
||
2093 | return true; |
||
2094 | } |
||
2095 | |||
2096 | template <typename Derived> |
||
2097 | bool VISITORCLASS<Derived>::TraverseCFUnknownTransferAttr(CFUnknownTransferAttr *A) { |
||
2098 | if (!getDerived().VisitAttr(A)) |
||
2099 | return false; |
||
2100 | if (!getDerived().VisitCFUnknownTransferAttr(A)) |
||
2101 | return false; |
||
2102 | return true; |
||
2103 | } |
||
2104 | |||
2105 | template <typename Derived> |
||
2106 | bool VISITORCLASS<Derived>::TraverseCPUDispatchAttr(CPUDispatchAttr *A) { |
||
2107 | if (!getDerived().VisitAttr(A)) |
||
2108 | return false; |
||
2109 | if (!getDerived().VisitCPUDispatchAttr(A)) |
||
2110 | return false; |
||
2111 | return true; |
||
2112 | } |
||
2113 | |||
2114 | template <typename Derived> |
||
2115 | bool VISITORCLASS<Derived>::TraverseCPUSpecificAttr(CPUSpecificAttr *A) { |
||
2116 | if (!getDerived().VisitAttr(A)) |
||
2117 | return false; |
||
2118 | if (!getDerived().VisitCPUSpecificAttr(A)) |
||
2119 | return false; |
||
2120 | return true; |
||
2121 | } |
||
2122 | |||
2123 | template <typename Derived> |
||
2124 | bool VISITORCLASS<Derived>::TraverseCUDAConstantAttr(CUDAConstantAttr *A) { |
||
2125 | if (!getDerived().VisitAttr(A)) |
||
2126 | return false; |
||
2127 | if (!getDerived().VisitCUDAConstantAttr(A)) |
||
2128 | return false; |
||
2129 | return true; |
||
2130 | } |
||
2131 | |||
2132 | template <typename Derived> |
||
2133 | bool VISITORCLASS<Derived>::TraverseCUDADeviceAttr(CUDADeviceAttr *A) { |
||
2134 | if (!getDerived().VisitAttr(A)) |
||
2135 | return false; |
||
2136 | if (!getDerived().VisitCUDADeviceAttr(A)) |
||
2137 | return false; |
||
2138 | return true; |
||
2139 | } |
||
2140 | |||
2141 | template <typename Derived> |
||
2142 | bool VISITORCLASS<Derived>::TraverseCUDADeviceBuiltinSurfaceTypeAttr(CUDADeviceBuiltinSurfaceTypeAttr *A) { |
||
2143 | if (!getDerived().VisitAttr(A)) |
||
2144 | return false; |
||
2145 | if (!getDerived().VisitCUDADeviceBuiltinSurfaceTypeAttr(A)) |
||
2146 | return false; |
||
2147 | return true; |
||
2148 | } |
||
2149 | |||
2150 | template <typename Derived> |
||
2151 | bool VISITORCLASS<Derived>::TraverseCUDADeviceBuiltinTextureTypeAttr(CUDADeviceBuiltinTextureTypeAttr *A) { |
||
2152 | if (!getDerived().VisitAttr(A)) |
||
2153 | return false; |
||
2154 | if (!getDerived().VisitCUDADeviceBuiltinTextureTypeAttr(A)) |
||
2155 | return false; |
||
2156 | return true; |
||
2157 | } |
||
2158 | |||
2159 | template <typename Derived> |
||
2160 | bool VISITORCLASS<Derived>::TraverseCUDAGlobalAttr(CUDAGlobalAttr *A) { |
||
2161 | if (!getDerived().VisitAttr(A)) |
||
2162 | return false; |
||
2163 | if (!getDerived().VisitCUDAGlobalAttr(A)) |
||
2164 | return false; |
||
2165 | return true; |
||
2166 | } |
||
2167 | |||
2168 | template <typename Derived> |
||
2169 | bool VISITORCLASS<Derived>::TraverseCUDAHostAttr(CUDAHostAttr *A) { |
||
2170 | if (!getDerived().VisitAttr(A)) |
||
2171 | return false; |
||
2172 | if (!getDerived().VisitCUDAHostAttr(A)) |
||
2173 | return false; |
||
2174 | return true; |
||
2175 | } |
||
2176 | |||
2177 | template <typename Derived> |
||
2178 | bool VISITORCLASS<Derived>::TraverseCUDAInvalidTargetAttr(CUDAInvalidTargetAttr *A) { |
||
2179 | if (!getDerived().VisitAttr(A)) |
||
2180 | return false; |
||
2181 | if (!getDerived().VisitCUDAInvalidTargetAttr(A)) |
||
2182 | return false; |
||
2183 | return true; |
||
2184 | } |
||
2185 | |||
2186 | template <typename Derived> |
||
2187 | bool VISITORCLASS<Derived>::TraverseCUDALaunchBoundsAttr(CUDALaunchBoundsAttr *A) { |
||
2188 | if (!getDerived().VisitAttr(A)) |
||
2189 | return false; |
||
2190 | if (!getDerived().VisitCUDALaunchBoundsAttr(A)) |
||
2191 | return false; |
||
2192 | if (!getDerived().TraverseStmt(A->getMaxThreads())) |
||
2193 | return false; |
||
2194 | if (!getDerived().TraverseStmt(A->getMinBlocks())) |
||
2195 | return false; |
||
2196 | return true; |
||
2197 | } |
||
2198 | |||
2199 | template <typename Derived> |
||
2200 | bool VISITORCLASS<Derived>::TraverseCUDASharedAttr(CUDASharedAttr *A) { |
||
2201 | if (!getDerived().VisitAttr(A)) |
||
2202 | return false; |
||
2203 | if (!getDerived().VisitCUDASharedAttr(A)) |
||
2204 | return false; |
||
2205 | return true; |
||
2206 | } |
||
2207 | |||
2208 | template <typename Derived> |
||
2209 | bool VISITORCLASS<Derived>::TraverseCXX11NoReturnAttr(CXX11NoReturnAttr *A) { |
||
2210 | if (!getDerived().VisitAttr(A)) |
||
2211 | return false; |
||
2212 | if (!getDerived().VisitCXX11NoReturnAttr(A)) |
||
2213 | return false; |
||
2214 | return true; |
||
2215 | } |
||
2216 | |||
2217 | template <typename Derived> |
||
2218 | bool VISITORCLASS<Derived>::TraverseCallableWhenAttr(CallableWhenAttr *A) { |
||
2219 | if (!getDerived().VisitAttr(A)) |
||
2220 | return false; |
||
2221 | if (!getDerived().VisitCallableWhenAttr(A)) |
||
2222 | return false; |
||
2223 | return true; |
||
2224 | } |
||
2225 | |||
2226 | template <typename Derived> |
||
2227 | bool VISITORCLASS<Derived>::TraverseCallbackAttr(CallbackAttr *A) { |
||
2228 | if (!getDerived().VisitAttr(A)) |
||
2229 | return false; |
||
2230 | if (!getDerived().VisitCallbackAttr(A)) |
||
2231 | return false; |
||
2232 | return true; |
||
2233 | } |
||
2234 | |||
2235 | template <typename Derived> |
||
2236 | bool VISITORCLASS<Derived>::TraverseCalledOnceAttr(CalledOnceAttr *A) { |
||
2237 | if (!getDerived().VisitAttr(A)) |
||
2238 | return false; |
||
2239 | if (!getDerived().VisitCalledOnceAttr(A)) |
||
2240 | return false; |
||
2241 | return true; |
||
2242 | } |
||
2243 | |||
2244 | template <typename Derived> |
||
2245 | bool VISITORCLASS<Derived>::TraverseCapabilityAttr(CapabilityAttr *A) { |
||
2246 | if (!getDerived().VisitAttr(A)) |
||
2247 | return false; |
||
2248 | if (!getDerived().VisitCapabilityAttr(A)) |
||
2249 | return false; |
||
2250 | return true; |
||
2251 | } |
||
2252 | |||
2253 | template <typename Derived> |
||
2254 | bool VISITORCLASS<Derived>::TraverseCapturedRecordAttr(CapturedRecordAttr *A) { |
||
2255 | if (!getDerived().VisitAttr(A)) |
||
2256 | return false; |
||
2257 | if (!getDerived().VisitCapturedRecordAttr(A)) |
||
2258 | return false; |
||
2259 | return true; |
||
2260 | } |
||
2261 | |||
2262 | template <typename Derived> |
||
2263 | bool VISITORCLASS<Derived>::TraverseCarriesDependencyAttr(CarriesDependencyAttr *A) { |
||
2264 | if (!getDerived().VisitAttr(A)) |
||
2265 | return false; |
||
2266 | if (!getDerived().VisitCarriesDependencyAttr(A)) |
||
2267 | return false; |
||
2268 | return true; |
||
2269 | } |
||
2270 | |||
2271 | template <typename Derived> |
||
2272 | bool VISITORCLASS<Derived>::TraverseCleanupAttr(CleanupAttr *A) { |
||
2273 | if (!getDerived().VisitAttr(A)) |
||
2274 | return false; |
||
2275 | if (!getDerived().VisitCleanupAttr(A)) |
||
2276 | return false; |
||
2277 | return true; |
||
2278 | } |
||
2279 | |||
2280 | template <typename Derived> |
||
2281 | bool VISITORCLASS<Derived>::TraverseCmseNSCallAttr(CmseNSCallAttr *A) { |
||
2282 | if (!getDerived().VisitAttr(A)) |
||
2283 | return false; |
||
2284 | if (!getDerived().VisitCmseNSCallAttr(A)) |
||
2285 | return false; |
||
2286 | return true; |
||
2287 | } |
||
2288 | |||
2289 | template <typename Derived> |
||
2290 | bool VISITORCLASS<Derived>::TraverseCmseNSEntryAttr(CmseNSEntryAttr *A) { |
||
2291 | if (!getDerived().VisitAttr(A)) |
||
2292 | return false; |
||
2293 | if (!getDerived().VisitCmseNSEntryAttr(A)) |
||
2294 | return false; |
||
2295 | return true; |
||
2296 | } |
||
2297 | |||
2298 | template <typename Derived> |
||
2299 | bool VISITORCLASS<Derived>::TraverseCodeSegAttr(CodeSegAttr *A) { |
||
2300 | if (!getDerived().VisitAttr(A)) |
||
2301 | return false; |
||
2302 | if (!getDerived().VisitCodeSegAttr(A)) |
||
2303 | return false; |
||
2304 | return true; |
||
2305 | } |
||
2306 | |||
2307 | template <typename Derived> |
||
2308 | bool VISITORCLASS<Derived>::TraverseColdAttr(ColdAttr *A) { |
||
2309 | if (!getDerived().VisitAttr(A)) |
||
2310 | return false; |
||
2311 | if (!getDerived().VisitColdAttr(A)) |
||
2312 | return false; |
||
2313 | return true; |
||
2314 | } |
||
2315 | |||
2316 | template <typename Derived> |
||
2317 | bool VISITORCLASS<Derived>::TraverseCommonAttr(CommonAttr *A) { |
||
2318 | if (!getDerived().VisitAttr(A)) |
||
2319 | return false; |
||
2320 | if (!getDerived().VisitCommonAttr(A)) |
||
2321 | return false; |
||
2322 | return true; |
||
2323 | } |
||
2324 | |||
2325 | template <typename Derived> |
||
2326 | bool VISITORCLASS<Derived>::TraverseConstAttr(ConstAttr *A) { |
||
2327 | if (!getDerived().VisitAttr(A)) |
||
2328 | return false; |
||
2329 | if (!getDerived().VisitConstAttr(A)) |
||
2330 | return false; |
||
2331 | return true; |
||
2332 | } |
||
2333 | |||
2334 | template <typename Derived> |
||
2335 | bool VISITORCLASS<Derived>::TraverseConstInitAttr(ConstInitAttr *A) { |
||
2336 | if (!getDerived().VisitAttr(A)) |
||
2337 | return false; |
||
2338 | if (!getDerived().VisitConstInitAttr(A)) |
||
2339 | return false; |
||
2340 | return true; |
||
2341 | } |
||
2342 | |||
2343 | template <typename Derived> |
||
2344 | bool VISITORCLASS<Derived>::TraverseConstructorAttr(ConstructorAttr *A) { |
||
2345 | if (!getDerived().VisitAttr(A)) |
||
2346 | return false; |
||
2347 | if (!getDerived().VisitConstructorAttr(A)) |
||
2348 | return false; |
||
2349 | return true; |
||
2350 | } |
||
2351 | |||
2352 | template <typename Derived> |
||
2353 | bool VISITORCLASS<Derived>::TraverseConsumableAttr(ConsumableAttr *A) { |
||
2354 | if (!getDerived().VisitAttr(A)) |
||
2355 | return false; |
||
2356 | if (!getDerived().VisitConsumableAttr(A)) |
||
2357 | return false; |
||
2358 | return true; |
||
2359 | } |
||
2360 | |||
2361 | template <typename Derived> |
||
2362 | bool VISITORCLASS<Derived>::TraverseConsumableAutoCastAttr(ConsumableAutoCastAttr *A) { |
||
2363 | if (!getDerived().VisitAttr(A)) |
||
2364 | return false; |
||
2365 | if (!getDerived().VisitConsumableAutoCastAttr(A)) |
||
2366 | return false; |
||
2367 | return true; |
||
2368 | } |
||
2369 | |||
2370 | template <typename Derived> |
||
2371 | bool VISITORCLASS<Derived>::TraverseConsumableSetOnReadAttr(ConsumableSetOnReadAttr *A) { |
||
2372 | if (!getDerived().VisitAttr(A)) |
||
2373 | return false; |
||
2374 | if (!getDerived().VisitConsumableSetOnReadAttr(A)) |
||
2375 | return false; |
||
2376 | return true; |
||
2377 | } |
||
2378 | |||
2379 | template <typename Derived> |
||
2380 | bool VISITORCLASS<Derived>::TraverseConvergentAttr(ConvergentAttr *A) { |
||
2381 | if (!getDerived().VisitAttr(A)) |
||
2382 | return false; |
||
2383 | if (!getDerived().VisitConvergentAttr(A)) |
||
2384 | return false; |
||
2385 | return true; |
||
2386 | } |
||
2387 | |||
2388 | template <typename Derived> |
||
2389 | bool VISITORCLASS<Derived>::TraverseDLLExportAttr(DLLExportAttr *A) { |
||
2390 | if (!getDerived().VisitAttr(A)) |
||
2391 | return false; |
||
2392 | if (!getDerived().VisitDLLExportAttr(A)) |
||
2393 | return false; |
||
2394 | return true; |
||
2395 | } |
||
2396 | |||
2397 | template <typename Derived> |
||
2398 | bool VISITORCLASS<Derived>::TraverseDLLExportStaticLocalAttr(DLLExportStaticLocalAttr *A) { |
||
2399 | if (!getDerived().VisitAttr(A)) |
||
2400 | return false; |
||
2401 | if (!getDerived().VisitDLLExportStaticLocalAttr(A)) |
||
2402 | return false; |
||
2403 | return true; |
||
2404 | } |
||
2405 | |||
2406 | template <typename Derived> |
||
2407 | bool VISITORCLASS<Derived>::TraverseDLLImportAttr(DLLImportAttr *A) { |
||
2408 | if (!getDerived().VisitAttr(A)) |
||
2409 | return false; |
||
2410 | if (!getDerived().VisitDLLImportAttr(A)) |
||
2411 | return false; |
||
2412 | return true; |
||
2413 | } |
||
2414 | |||
2415 | template <typename Derived> |
||
2416 | bool VISITORCLASS<Derived>::TraverseDLLImportStaticLocalAttr(DLLImportStaticLocalAttr *A) { |
||
2417 | if (!getDerived().VisitAttr(A)) |
||
2418 | return false; |
||
2419 | if (!getDerived().VisitDLLImportStaticLocalAttr(A)) |
||
2420 | return false; |
||
2421 | return true; |
||
2422 | } |
||
2423 | |||
2424 | template <typename Derived> |
||
2425 | bool VISITORCLASS<Derived>::TraverseDeprecatedAttr(DeprecatedAttr *A) { |
||
2426 | if (!getDerived().VisitAttr(A)) |
||
2427 | return false; |
||
2428 | if (!getDerived().VisitDeprecatedAttr(A)) |
||
2429 | return false; |
||
2430 | return true; |
||
2431 | } |
||
2432 | |||
2433 | template <typename Derived> |
||
2434 | bool VISITORCLASS<Derived>::TraverseDestructorAttr(DestructorAttr *A) { |
||
2435 | if (!getDerived().VisitAttr(A)) |
||
2436 | return false; |
||
2437 | if (!getDerived().VisitDestructorAttr(A)) |
||
2438 | return false; |
||
2439 | return true; |
||
2440 | } |
||
2441 | |||
2442 | template <typename Derived> |
||
2443 | bool VISITORCLASS<Derived>::TraverseDiagnoseAsBuiltinAttr(DiagnoseAsBuiltinAttr *A) { |
||
2444 | if (!getDerived().VisitAttr(A)) |
||
2445 | return false; |
||
2446 | if (!getDerived().VisitDiagnoseAsBuiltinAttr(A)) |
||
2447 | return false; |
||
2448 | return true; |
||
2449 | } |
||
2450 | |||
2451 | template <typename Derived> |
||
2452 | bool VISITORCLASS<Derived>::TraverseDiagnoseIfAttr(DiagnoseIfAttr *A) { |
||
2453 | if (!getDerived().VisitAttr(A)) |
||
2454 | return false; |
||
2455 | if (!getDerived().VisitDiagnoseIfAttr(A)) |
||
2456 | return false; |
||
2457 | if (!getDerived().TraverseStmt(A->getCond())) |
||
2458 | return false; |
||
2459 | return true; |
||
2460 | } |
||
2461 | |||
2462 | template <typename Derived> |
||
2463 | bool VISITORCLASS<Derived>::TraverseDisableSanitizerInstrumentationAttr(DisableSanitizerInstrumentationAttr *A) { |
||
2464 | if (!getDerived().VisitAttr(A)) |
||
2465 | return false; |
||
2466 | if (!getDerived().VisitDisableSanitizerInstrumentationAttr(A)) |
||
2467 | return false; |
||
2468 | return true; |
||
2469 | } |
||
2470 | |||
2471 | template <typename Derived> |
||
2472 | bool VISITORCLASS<Derived>::TraverseDisableTailCallsAttr(DisableTailCallsAttr *A) { |
||
2473 | if (!getDerived().VisitAttr(A)) |
||
2474 | return false; |
||
2475 | if (!getDerived().VisitDisableTailCallsAttr(A)) |
||
2476 | return false; |
||
2477 | return true; |
||
2478 | } |
||
2479 | |||
2480 | template <typename Derived> |
||
2481 | bool VISITORCLASS<Derived>::TraverseEmptyBasesAttr(EmptyBasesAttr *A) { |
||
2482 | if (!getDerived().VisitAttr(A)) |
||
2483 | return false; |
||
2484 | if (!getDerived().VisitEmptyBasesAttr(A)) |
||
2485 | return false; |
||
2486 | return true; |
||
2487 | } |
||
2488 | |||
2489 | template <typename Derived> |
||
2490 | bool VISITORCLASS<Derived>::TraverseEnableIfAttr(EnableIfAttr *A) { |
||
2491 | if (!getDerived().VisitAttr(A)) |
||
2492 | return false; |
||
2493 | if (!getDerived().VisitEnableIfAttr(A)) |
||
2494 | return false; |
||
2495 | if (!getDerived().TraverseStmt(A->getCond())) |
||
2496 | return false; |
||
2497 | return true; |
||
2498 | } |
||
2499 | |||
2500 | template <typename Derived> |
||
2501 | bool VISITORCLASS<Derived>::TraverseEnforceTCBAttr(EnforceTCBAttr *A) { |
||
2502 | if (!getDerived().VisitAttr(A)) |
||
2503 | return false; |
||
2504 | if (!getDerived().VisitEnforceTCBAttr(A)) |
||
2505 | return false; |
||
2506 | return true; |
||
2507 | } |
||
2508 | |||
2509 | template <typename Derived> |
||
2510 | bool VISITORCLASS<Derived>::TraverseEnforceTCBLeafAttr(EnforceTCBLeafAttr *A) { |
||
2511 | if (!getDerived().VisitAttr(A)) |
||
2512 | return false; |
||
2513 | if (!getDerived().VisitEnforceTCBLeafAttr(A)) |
||
2514 | return false; |
||
2515 | return true; |
||
2516 | } |
||
2517 | |||
2518 | template <typename Derived> |
||
2519 | bool VISITORCLASS<Derived>::TraverseEnumExtensibilityAttr(EnumExtensibilityAttr *A) { |
||
2520 | if (!getDerived().VisitAttr(A)) |
||
2521 | return false; |
||
2522 | if (!getDerived().VisitEnumExtensibilityAttr(A)) |
||
2523 | return false; |
||
2524 | return true; |
||
2525 | } |
||
2526 | |||
2527 | template <typename Derived> |
||
2528 | bool VISITORCLASS<Derived>::TraverseErrorAttr(ErrorAttr *A) { |
||
2529 | if (!getDerived().VisitAttr(A)) |
||
2530 | return false; |
||
2531 | if (!getDerived().VisitErrorAttr(A)) |
||
2532 | return false; |
||
2533 | return true; |
||
2534 | } |
||
2535 | |||
2536 | template <typename Derived> |
||
2537 | bool VISITORCLASS<Derived>::TraverseExcludeFromExplicitInstantiationAttr(ExcludeFromExplicitInstantiationAttr *A) { |
||
2538 | if (!getDerived().VisitAttr(A)) |
||
2539 | return false; |
||
2540 | if (!getDerived().VisitExcludeFromExplicitInstantiationAttr(A)) |
||
2541 | return false; |
||
2542 | return true; |
||
2543 | } |
||
2544 | |||
2545 | template <typename Derived> |
||
2546 | bool VISITORCLASS<Derived>::TraverseExclusiveTrylockFunctionAttr(ExclusiveTrylockFunctionAttr *A) { |
||
2547 | if (!getDerived().VisitAttr(A)) |
||
2548 | return false; |
||
2549 | if (!getDerived().VisitExclusiveTrylockFunctionAttr(A)) |
||
2550 | return false; |
||
2551 | if (!getDerived().TraverseStmt(A->getSuccessValue())) |
||
2552 | return false; |
||
2553 | { |
||
2554 | Expr * *I = A->args_begin(); |
||
2555 | Expr * *E = A->args_end(); |
||
2556 | for (; I != E; ++I) { |
||
2557 | if (!getDerived().TraverseStmt(*I)) |
||
2558 | return false; |
||
2559 | } |
||
2560 | } |
||
2561 | return true; |
||
2562 | } |
||
2563 | |||
2564 | template <typename Derived> |
||
2565 | bool VISITORCLASS<Derived>::TraverseExternalSourceSymbolAttr(ExternalSourceSymbolAttr *A) { |
||
2566 | if (!getDerived().VisitAttr(A)) |
||
2567 | return false; |
||
2568 | if (!getDerived().VisitExternalSourceSymbolAttr(A)) |
||
2569 | return false; |
||
2570 | return true; |
||
2571 | } |
||
2572 | |||
2573 | template <typename Derived> |
||
2574 | bool VISITORCLASS<Derived>::TraverseFallThroughAttr(FallThroughAttr *A) { |
||
2575 | if (!getDerived().VisitAttr(A)) |
||
2576 | return false; |
||
2577 | if (!getDerived().VisitFallThroughAttr(A)) |
||
2578 | return false; |
||
2579 | return true; |
||
2580 | } |
||
2581 | |||
2582 | template <typename Derived> |
||
2583 | bool VISITORCLASS<Derived>::TraverseFastCallAttr(FastCallAttr *A) { |
||
2584 | if (!getDerived().VisitAttr(A)) |
||
2585 | return false; |
||
2586 | if (!getDerived().VisitFastCallAttr(A)) |
||
2587 | return false; |
||
2588 | return true; |
||
2589 | } |
||
2590 | |||
2591 | template <typename Derived> |
||
2592 | bool VISITORCLASS<Derived>::TraverseFinalAttr(FinalAttr *A) { |
||
2593 | if (!getDerived().VisitAttr(A)) |
||
2594 | return false; |
||
2595 | if (!getDerived().VisitFinalAttr(A)) |
||
2596 | return false; |
||
2597 | return true; |
||
2598 | } |
||
2599 | |||
2600 | template <typename Derived> |
||
2601 | bool VISITORCLASS<Derived>::TraverseFlagEnumAttr(FlagEnumAttr *A) { |
||
2602 | if (!getDerived().VisitAttr(A)) |
||
2603 | return false; |
||
2604 | if (!getDerived().VisitFlagEnumAttr(A)) |
||
2605 | return false; |
||
2606 | return true; |
||
2607 | } |
||
2608 | |||
2609 | template <typename Derived> |
||
2610 | bool VISITORCLASS<Derived>::TraverseFlattenAttr(FlattenAttr *A) { |
||
2611 | if (!getDerived().VisitAttr(A)) |
||
2612 | return false; |
||
2613 | if (!getDerived().VisitFlattenAttr(A)) |
||
2614 | return false; |
||
2615 | return true; |
||
2616 | } |
||
2617 | |||
2618 | template <typename Derived> |
||
2619 | bool VISITORCLASS<Derived>::TraverseFormatAttr(FormatAttr *A) { |
||
2620 | if (!getDerived().VisitAttr(A)) |
||
2621 | return false; |
||
2622 | if (!getDerived().VisitFormatAttr(A)) |
||
2623 | return false; |
||
2624 | return true; |
||
2625 | } |
||
2626 | |||
2627 | template <typename Derived> |
||
2628 | bool VISITORCLASS<Derived>::TraverseFormatArgAttr(FormatArgAttr *A) { |
||
2629 | if (!getDerived().VisitAttr(A)) |
||
2630 | return false; |
||
2631 | if (!getDerived().VisitFormatArgAttr(A)) |
||
2632 | return false; |
||
2633 | return true; |
||
2634 | } |
||
2635 | |||
2636 | template <typename Derived> |
||
2637 | bool VISITORCLASS<Derived>::TraverseFunctionReturnThunksAttr(FunctionReturnThunksAttr *A) { |
||
2638 | if (!getDerived().VisitAttr(A)) |
||
2639 | return false; |
||
2640 | if (!getDerived().VisitFunctionReturnThunksAttr(A)) |
||
2641 | return false; |
||
2642 | return true; |
||
2643 | } |
||
2644 | |||
2645 | template <typename Derived> |
||
2646 | bool VISITORCLASS<Derived>::TraverseGNUInlineAttr(GNUInlineAttr *A) { |
||
2647 | if (!getDerived().VisitAttr(A)) |
||
2648 | return false; |
||
2649 | if (!getDerived().VisitGNUInlineAttr(A)) |
||
2650 | return false; |
||
2651 | return true; |
||
2652 | } |
||
2653 | |||
2654 | template <typename Derived> |
||
2655 | bool VISITORCLASS<Derived>::TraverseGuardedByAttr(GuardedByAttr *A) { |
||
2656 | if (!getDerived().VisitAttr(A)) |
||
2657 | return false; |
||
2658 | if (!getDerived().VisitGuardedByAttr(A)) |
||
2659 | return false; |
||
2660 | if (!getDerived().TraverseStmt(A->getArg())) |
||
2661 | return false; |
||
2662 | return true; |
||
2663 | } |
||
2664 | |||
2665 | template <typename Derived> |
||
2666 | bool VISITORCLASS<Derived>::TraverseGuardedVarAttr(GuardedVarAttr *A) { |
||
2667 | if (!getDerived().VisitAttr(A)) |
||
2668 | return false; |
||
2669 | if (!getDerived().VisitGuardedVarAttr(A)) |
||
2670 | return false; |
||
2671 | return true; |
||
2672 | } |
||
2673 | |||
2674 | template <typename Derived> |
||
2675 | bool VISITORCLASS<Derived>::TraverseHIPManagedAttr(HIPManagedAttr *A) { |
||
2676 | if (!getDerived().VisitAttr(A)) |
||
2677 | return false; |
||
2678 | if (!getDerived().VisitHIPManagedAttr(A)) |
||
2679 | return false; |
||
2680 | return true; |
||
2681 | } |
||
2682 | |||
2683 | template <typename Derived> |
||
2684 | bool VISITORCLASS<Derived>::TraverseHLSLGroupSharedAddressSpaceAttr(HLSLGroupSharedAddressSpaceAttr *A) { |
||
2685 | if (!getDerived().VisitAttr(A)) |
||
2686 | return false; |
||
2687 | if (!getDerived().VisitHLSLGroupSharedAddressSpaceAttr(A)) |
||
2688 | return false; |
||
2689 | return true; |
||
2690 | } |
||
2691 | |||
2692 | template <typename Derived> |
||
2693 | bool VISITORCLASS<Derived>::TraverseHLSLNumThreadsAttr(HLSLNumThreadsAttr *A) { |
||
2694 | if (!getDerived().VisitAttr(A)) |
||
2695 | return false; |
||
2696 | if (!getDerived().VisitHLSLNumThreadsAttr(A)) |
||
2697 | return false; |
||
2698 | return true; |
||
2699 | } |
||
2700 | |||
2701 | template <typename Derived> |
||
2702 | bool VISITORCLASS<Derived>::TraverseHLSLResourceAttr(HLSLResourceAttr *A) { |
||
2703 | if (!getDerived().VisitAttr(A)) |
||
2704 | return false; |
||
2705 | if (!getDerived().VisitHLSLResourceAttr(A)) |
||
2706 | return false; |
||
2707 | return true; |
||
2708 | } |
||
2709 | |||
2710 | template <typename Derived> |
||
2711 | bool VISITORCLASS<Derived>::TraverseHLSLResourceBindingAttr(HLSLResourceBindingAttr *A) { |
||
2712 | if (!getDerived().VisitAttr(A)) |
||
2713 | return false; |
||
2714 | if (!getDerived().VisitHLSLResourceBindingAttr(A)) |
||
2715 | return false; |
||
2716 | return true; |
||
2717 | } |
||
2718 | |||
2719 | template <typename Derived> |
||
2720 | bool VISITORCLASS<Derived>::TraverseHLSLSV_DispatchThreadIDAttr(HLSLSV_DispatchThreadIDAttr *A) { |
||
2721 | if (!getDerived().VisitAttr(A)) |
||
2722 | return false; |
||
2723 | if (!getDerived().VisitHLSLSV_DispatchThreadIDAttr(A)) |
||
2724 | return false; |
||
2725 | return true; |
||
2726 | } |
||
2727 | |||
2728 | template <typename Derived> |
||
2729 | bool VISITORCLASS<Derived>::TraverseHLSLSV_GroupIndexAttr(HLSLSV_GroupIndexAttr *A) { |
||
2730 | if (!getDerived().VisitAttr(A)) |
||
2731 | return false; |
||
2732 | if (!getDerived().VisitHLSLSV_GroupIndexAttr(A)) |
||
2733 | return false; |
||
2734 | return true; |
||
2735 | } |
||
2736 | |||
2737 | template <typename Derived> |
||
2738 | bool VISITORCLASS<Derived>::TraverseHLSLShaderAttr(HLSLShaderAttr *A) { |
||
2739 | if (!getDerived().VisitAttr(A)) |
||
2740 | return false; |
||
2741 | if (!getDerived().VisitHLSLShaderAttr(A)) |
||
2742 | return false; |
||
2743 | return true; |
||
2744 | } |
||
2745 | |||
2746 | template <typename Derived> |
||
2747 | bool VISITORCLASS<Derived>::TraverseHotAttr(HotAttr *A) { |
||
2748 | if (!getDerived().VisitAttr(A)) |
||
2749 | return false; |
||
2750 | if (!getDerived().VisitHotAttr(A)) |
||
2751 | return false; |
||
2752 | return true; |
||
2753 | } |
||
2754 | |||
2755 | template <typename Derived> |
||
2756 | bool VISITORCLASS<Derived>::TraverseIBActionAttr(IBActionAttr *A) { |
||
2757 | if (!getDerived().VisitAttr(A)) |
||
2758 | return false; |
||
2759 | if (!getDerived().VisitIBActionAttr(A)) |
||
2760 | return false; |
||
2761 | return true; |
||
2762 | } |
||
2763 | |||
2764 | template <typename Derived> |
||
2765 | bool VISITORCLASS<Derived>::TraverseIBOutletAttr(IBOutletAttr *A) { |
||
2766 | if (!getDerived().VisitAttr(A)) |
||
2767 | return false; |
||
2768 | if (!getDerived().VisitIBOutletAttr(A)) |
||
2769 | return false; |
||
2770 | return true; |
||
2771 | } |
||
2772 | |||
2773 | template <typename Derived> |
||
2774 | bool VISITORCLASS<Derived>::TraverseIBOutletCollectionAttr(IBOutletCollectionAttr *A) { |
||
2775 | if (!getDerived().VisitAttr(A)) |
||
2776 | return false; |
||
2777 | if (!getDerived().VisitIBOutletCollectionAttr(A)) |
||
2778 | return false; |
||
2779 | if (auto *TSI = A->getInterfaceLoc()) |
||
2780 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
2781 | return false; |
||
2782 | return true; |
||
2783 | } |
||
2784 | |||
2785 | template <typename Derived> |
||
2786 | bool VISITORCLASS<Derived>::TraverseIFuncAttr(IFuncAttr *A) { |
||
2787 | if (!getDerived().VisitAttr(A)) |
||
2788 | return false; |
||
2789 | if (!getDerived().VisitIFuncAttr(A)) |
||
2790 | return false; |
||
2791 | return true; |
||
2792 | } |
||
2793 | |||
2794 | template <typename Derived> |
||
2795 | bool VISITORCLASS<Derived>::TraverseInitPriorityAttr(InitPriorityAttr *A) { |
||
2796 | if (!getDerived().VisitAttr(A)) |
||
2797 | return false; |
||
2798 | if (!getDerived().VisitInitPriorityAttr(A)) |
||
2799 | return false; |
||
2800 | return true; |
||
2801 | } |
||
2802 | |||
2803 | template <typename Derived> |
||
2804 | bool VISITORCLASS<Derived>::TraverseInitSegAttr(InitSegAttr *A) { |
||
2805 | if (!getDerived().VisitAttr(A)) |
||
2806 | return false; |
||
2807 | if (!getDerived().VisitInitSegAttr(A)) |
||
2808 | return false; |
||
2809 | return true; |
||
2810 | } |
||
2811 | |||
2812 | template <typename Derived> |
||
2813 | bool VISITORCLASS<Derived>::TraverseIntelOclBiccAttr(IntelOclBiccAttr *A) { |
||
2814 | if (!getDerived().VisitAttr(A)) |
||
2815 | return false; |
||
2816 | if (!getDerived().VisitIntelOclBiccAttr(A)) |
||
2817 | return false; |
||
2818 | return true; |
||
2819 | } |
||
2820 | |||
2821 | template <typename Derived> |
||
2822 | bool VISITORCLASS<Derived>::TraverseInternalLinkageAttr(InternalLinkageAttr *A) { |
||
2823 | if (!getDerived().VisitAttr(A)) |
||
2824 | return false; |
||
2825 | if (!getDerived().VisitInternalLinkageAttr(A)) |
||
2826 | return false; |
||
2827 | return true; |
||
2828 | } |
||
2829 | |||
2830 | template <typename Derived> |
||
2831 | bool VISITORCLASS<Derived>::TraverseLTOVisibilityPublicAttr(LTOVisibilityPublicAttr *A) { |
||
2832 | if (!getDerived().VisitAttr(A)) |
||
2833 | return false; |
||
2834 | if (!getDerived().VisitLTOVisibilityPublicAttr(A)) |
||
2835 | return false; |
||
2836 | return true; |
||
2837 | } |
||
2838 | |||
2839 | template <typename Derived> |
||
2840 | bool VISITORCLASS<Derived>::TraverseLayoutVersionAttr(LayoutVersionAttr *A) { |
||
2841 | if (!getDerived().VisitAttr(A)) |
||
2842 | return false; |
||
2843 | if (!getDerived().VisitLayoutVersionAttr(A)) |
||
2844 | return false; |
||
2845 | return true; |
||
2846 | } |
||
2847 | |||
2848 | template <typename Derived> |
||
2849 | bool VISITORCLASS<Derived>::TraverseLeafAttr(LeafAttr *A) { |
||
2850 | if (!getDerived().VisitAttr(A)) |
||
2851 | return false; |
||
2852 | if (!getDerived().VisitLeafAttr(A)) |
||
2853 | return false; |
||
2854 | return true; |
||
2855 | } |
||
2856 | |||
2857 | template <typename Derived> |
||
2858 | bool VISITORCLASS<Derived>::TraverseLifetimeBoundAttr(LifetimeBoundAttr *A) { |
||
2859 | if (!getDerived().VisitAttr(A)) |
||
2860 | return false; |
||
2861 | if (!getDerived().VisitLifetimeBoundAttr(A)) |
||
2862 | return false; |
||
2863 | return true; |
||
2864 | } |
||
2865 | |||
2866 | template <typename Derived> |
||
2867 | bool VISITORCLASS<Derived>::TraverseLikelyAttr(LikelyAttr *A) { |
||
2868 | if (!getDerived().VisitAttr(A)) |
||
2869 | return false; |
||
2870 | if (!getDerived().VisitLikelyAttr(A)) |
||
2871 | return false; |
||
2872 | return true; |
||
2873 | } |
||
2874 | |||
2875 | template <typename Derived> |
||
2876 | bool VISITORCLASS<Derived>::TraverseLoaderUninitializedAttr(LoaderUninitializedAttr *A) { |
||
2877 | if (!getDerived().VisitAttr(A)) |
||
2878 | return false; |
||
2879 | if (!getDerived().VisitLoaderUninitializedAttr(A)) |
||
2880 | return false; |
||
2881 | return true; |
||
2882 | } |
||
2883 | |||
2884 | template <typename Derived> |
||
2885 | bool VISITORCLASS<Derived>::TraverseLockReturnedAttr(LockReturnedAttr *A) { |
||
2886 | if (!getDerived().VisitAttr(A)) |
||
2887 | return false; |
||
2888 | if (!getDerived().VisitLockReturnedAttr(A)) |
||
2889 | return false; |
||
2890 | if (!getDerived().TraverseStmt(A->getArg())) |
||
2891 | return false; |
||
2892 | return true; |
||
2893 | } |
||
2894 | |||
2895 | template <typename Derived> |
||
2896 | bool VISITORCLASS<Derived>::TraverseLocksExcludedAttr(LocksExcludedAttr *A) { |
||
2897 | if (!getDerived().VisitAttr(A)) |
||
2898 | return false; |
||
2899 | if (!getDerived().VisitLocksExcludedAttr(A)) |
||
2900 | return false; |
||
2901 | { |
||
2902 | Expr * *I = A->args_begin(); |
||
2903 | Expr * *E = A->args_end(); |
||
2904 | for (; I != E; ++I) { |
||
2905 | if (!getDerived().TraverseStmt(*I)) |
||
2906 | return false; |
||
2907 | } |
||
2908 | } |
||
2909 | return true; |
||
2910 | } |
||
2911 | |||
2912 | template <typename Derived> |
||
2913 | bool VISITORCLASS<Derived>::TraverseLoopHintAttr(LoopHintAttr *A) { |
||
2914 | if (!getDerived().VisitAttr(A)) |
||
2915 | return false; |
||
2916 | if (!getDerived().VisitLoopHintAttr(A)) |
||
2917 | return false; |
||
2918 | if (!getDerived().TraverseStmt(A->getValue())) |
||
2919 | return false; |
||
2920 | return true; |
||
2921 | } |
||
2922 | |||
2923 | template <typename Derived> |
||
2924 | bool VISITORCLASS<Derived>::TraverseM68kInterruptAttr(M68kInterruptAttr *A) { |
||
2925 | if (!getDerived().VisitAttr(A)) |
||
2926 | return false; |
||
2927 | if (!getDerived().VisitM68kInterruptAttr(A)) |
||
2928 | return false; |
||
2929 | return true; |
||
2930 | } |
||
2931 | |||
2932 | template <typename Derived> |
||
2933 | bool VISITORCLASS<Derived>::TraverseMIGServerRoutineAttr(MIGServerRoutineAttr *A) { |
||
2934 | if (!getDerived().VisitAttr(A)) |
||
2935 | return false; |
||
2936 | if (!getDerived().VisitMIGServerRoutineAttr(A)) |
||
2937 | return false; |
||
2938 | return true; |
||
2939 | } |
||
2940 | |||
2941 | template <typename Derived> |
||
2942 | bool VISITORCLASS<Derived>::TraverseMSABIAttr(MSABIAttr *A) { |
||
2943 | if (!getDerived().VisitAttr(A)) |
||
2944 | return false; |
||
2945 | if (!getDerived().VisitMSABIAttr(A)) |
||
2946 | return false; |
||
2947 | return true; |
||
2948 | } |
||
2949 | |||
2950 | template <typename Derived> |
||
2951 | bool VISITORCLASS<Derived>::TraverseMSAllocatorAttr(MSAllocatorAttr *A) { |
||
2952 | if (!getDerived().VisitAttr(A)) |
||
2953 | return false; |
||
2954 | if (!getDerived().VisitMSAllocatorAttr(A)) |
||
2955 | return false; |
||
2956 | return true; |
||
2957 | } |
||
2958 | |||
2959 | template <typename Derived> |
||
2960 | bool VISITORCLASS<Derived>::TraverseMSInheritanceAttr(MSInheritanceAttr *A) { |
||
2961 | if (!getDerived().VisitAttr(A)) |
||
2962 | return false; |
||
2963 | if (!getDerived().VisitMSInheritanceAttr(A)) |
||
2964 | return false; |
||
2965 | return true; |
||
2966 | } |
||
2967 | |||
2968 | template <typename Derived> |
||
2969 | bool VISITORCLASS<Derived>::TraverseMSNoVTableAttr(MSNoVTableAttr *A) { |
||
2970 | if (!getDerived().VisitAttr(A)) |
||
2971 | return false; |
||
2972 | if (!getDerived().VisitMSNoVTableAttr(A)) |
||
2973 | return false; |
||
2974 | return true; |
||
2975 | } |
||
2976 | |||
2977 | template <typename Derived> |
||
2978 | bool VISITORCLASS<Derived>::TraverseMSP430InterruptAttr(MSP430InterruptAttr *A) { |
||
2979 | if (!getDerived().VisitAttr(A)) |
||
2980 | return false; |
||
2981 | if (!getDerived().VisitMSP430InterruptAttr(A)) |
||
2982 | return false; |
||
2983 | return true; |
||
2984 | } |
||
2985 | |||
2986 | template <typename Derived> |
||
2987 | bool VISITORCLASS<Derived>::TraverseMSStructAttr(MSStructAttr *A) { |
||
2988 | if (!getDerived().VisitAttr(A)) |
||
2989 | return false; |
||
2990 | if (!getDerived().VisitMSStructAttr(A)) |
||
2991 | return false; |
||
2992 | return true; |
||
2993 | } |
||
2994 | |||
2995 | template <typename Derived> |
||
2996 | bool VISITORCLASS<Derived>::TraverseMSVtorDispAttr(MSVtorDispAttr *A) { |
||
2997 | if (!getDerived().VisitAttr(A)) |
||
2998 | return false; |
||
2999 | if (!getDerived().VisitMSVtorDispAttr(A)) |
||
3000 | return false; |
||
3001 | return true; |
||
3002 | } |
||
3003 | |||
3004 | template <typename Derived> |
||
3005 | bool VISITORCLASS<Derived>::TraverseMaxFieldAlignmentAttr(MaxFieldAlignmentAttr *A) { |
||
3006 | if (!getDerived().VisitAttr(A)) |
||
3007 | return false; |
||
3008 | if (!getDerived().VisitMaxFieldAlignmentAttr(A)) |
||
3009 | return false; |
||
3010 | return true; |
||
3011 | } |
||
3012 | |||
3013 | template <typename Derived> |
||
3014 | bool VISITORCLASS<Derived>::TraverseMayAliasAttr(MayAliasAttr *A) { |
||
3015 | if (!getDerived().VisitAttr(A)) |
||
3016 | return false; |
||
3017 | if (!getDerived().VisitMayAliasAttr(A)) |
||
3018 | return false; |
||
3019 | return true; |
||
3020 | } |
||
3021 | |||
3022 | template <typename Derived> |
||
3023 | bool VISITORCLASS<Derived>::TraverseMaybeUndefAttr(MaybeUndefAttr *A) { |
||
3024 | if (!getDerived().VisitAttr(A)) |
||
3025 | return false; |
||
3026 | if (!getDerived().VisitMaybeUndefAttr(A)) |
||
3027 | return false; |
||
3028 | return true; |
||
3029 | } |
||
3030 | |||
3031 | template <typename Derived> |
||
3032 | bool VISITORCLASS<Derived>::TraverseMicroMipsAttr(MicroMipsAttr *A) { |
||
3033 | if (!getDerived().VisitAttr(A)) |
||
3034 | return false; |
||
3035 | if (!getDerived().VisitMicroMipsAttr(A)) |
||
3036 | return false; |
||
3037 | return true; |
||
3038 | } |
||
3039 | |||
3040 | template <typename Derived> |
||
3041 | bool VISITORCLASS<Derived>::TraverseMinSizeAttr(MinSizeAttr *A) { |
||
3042 | if (!getDerived().VisitAttr(A)) |
||
3043 | return false; |
||
3044 | if (!getDerived().VisitMinSizeAttr(A)) |
||
3045 | return false; |
||
3046 | return true; |
||
3047 | } |
||
3048 | |||
3049 | template <typename Derived> |
||
3050 | bool VISITORCLASS<Derived>::TraverseMinVectorWidthAttr(MinVectorWidthAttr *A) { |
||
3051 | if (!getDerived().VisitAttr(A)) |
||
3052 | return false; |
||
3053 | if (!getDerived().VisitMinVectorWidthAttr(A)) |
||
3054 | return false; |
||
3055 | return true; |
||
3056 | } |
||
3057 | |||
3058 | template <typename Derived> |
||
3059 | bool VISITORCLASS<Derived>::TraverseMips16Attr(Mips16Attr *A) { |
||
3060 | if (!getDerived().VisitAttr(A)) |
||
3061 | return false; |
||
3062 | if (!getDerived().VisitMips16Attr(A)) |
||
3063 | return false; |
||
3064 | return true; |
||
3065 | } |
||
3066 | |||
3067 | template <typename Derived> |
||
3068 | bool VISITORCLASS<Derived>::TraverseMipsInterruptAttr(MipsInterruptAttr *A) { |
||
3069 | if (!getDerived().VisitAttr(A)) |
||
3070 | return false; |
||
3071 | if (!getDerived().VisitMipsInterruptAttr(A)) |
||
3072 | return false; |
||
3073 | return true; |
||
3074 | } |
||
3075 | |||
3076 | template <typename Derived> |
||
3077 | bool VISITORCLASS<Derived>::TraverseMipsLongCallAttr(MipsLongCallAttr *A) { |
||
3078 | if (!getDerived().VisitAttr(A)) |
||
3079 | return false; |
||
3080 | if (!getDerived().VisitMipsLongCallAttr(A)) |
||
3081 | return false; |
||
3082 | return true; |
||
3083 | } |
||
3084 | |||
3085 | template <typename Derived> |
||
3086 | bool VISITORCLASS<Derived>::TraverseMipsShortCallAttr(MipsShortCallAttr *A) { |
||
3087 | if (!getDerived().VisitAttr(A)) |
||
3088 | return false; |
||
3089 | if (!getDerived().VisitMipsShortCallAttr(A)) |
||
3090 | return false; |
||
3091 | return true; |
||
3092 | } |
||
3093 | |||
3094 | template <typename Derived> |
||
3095 | bool VISITORCLASS<Derived>::TraverseModeAttr(ModeAttr *A) { |
||
3096 | if (!getDerived().VisitAttr(A)) |
||
3097 | return false; |
||
3098 | if (!getDerived().VisitModeAttr(A)) |
||
3099 | return false; |
||
3100 | return true; |
||
3101 | } |
||
3102 | |||
3103 | template <typename Derived> |
||
3104 | bool VISITORCLASS<Derived>::TraverseMustTailAttr(MustTailAttr *A) { |
||
3105 | if (!getDerived().VisitAttr(A)) |
||
3106 | return false; |
||
3107 | if (!getDerived().VisitMustTailAttr(A)) |
||
3108 | return false; |
||
3109 | return true; |
||
3110 | } |
||
3111 | |||
3112 | template <typename Derived> |
||
3113 | bool VISITORCLASS<Derived>::TraverseNSConsumedAttr(NSConsumedAttr *A) { |
||
3114 | if (!getDerived().VisitAttr(A)) |
||
3115 | return false; |
||
3116 | if (!getDerived().VisitNSConsumedAttr(A)) |
||
3117 | return false; |
||
3118 | return true; |
||
3119 | } |
||
3120 | |||
3121 | template <typename Derived> |
||
3122 | bool VISITORCLASS<Derived>::TraverseNSConsumesSelfAttr(NSConsumesSelfAttr *A) { |
||
3123 | if (!getDerived().VisitAttr(A)) |
||
3124 | return false; |
||
3125 | if (!getDerived().VisitNSConsumesSelfAttr(A)) |
||
3126 | return false; |
||
3127 | return true; |
||
3128 | } |
||
3129 | |||
3130 | template <typename Derived> |
||
3131 | bool VISITORCLASS<Derived>::TraverseNSErrorDomainAttr(NSErrorDomainAttr *A) { |
||
3132 | if (!getDerived().VisitAttr(A)) |
||
3133 | return false; |
||
3134 | if (!getDerived().VisitNSErrorDomainAttr(A)) |
||
3135 | return false; |
||
3136 | return true; |
||
3137 | } |
||
3138 | |||
3139 | template <typename Derived> |
||
3140 | bool VISITORCLASS<Derived>::TraverseNSReturnsAutoreleasedAttr(NSReturnsAutoreleasedAttr *A) { |
||
3141 | if (!getDerived().VisitAttr(A)) |
||
3142 | return false; |
||
3143 | if (!getDerived().VisitNSReturnsAutoreleasedAttr(A)) |
||
3144 | return false; |
||
3145 | return true; |
||
3146 | } |
||
3147 | |||
3148 | template <typename Derived> |
||
3149 | bool VISITORCLASS<Derived>::TraverseNSReturnsNotRetainedAttr(NSReturnsNotRetainedAttr *A) { |
||
3150 | if (!getDerived().VisitAttr(A)) |
||
3151 | return false; |
||
3152 | if (!getDerived().VisitNSReturnsNotRetainedAttr(A)) |
||
3153 | return false; |
||
3154 | return true; |
||
3155 | } |
||
3156 | |||
3157 | template <typename Derived> |
||
3158 | bool VISITORCLASS<Derived>::TraverseNSReturnsRetainedAttr(NSReturnsRetainedAttr *A) { |
||
3159 | if (!getDerived().VisitAttr(A)) |
||
3160 | return false; |
||
3161 | if (!getDerived().VisitNSReturnsRetainedAttr(A)) |
||
3162 | return false; |
||
3163 | return true; |
||
3164 | } |
||
3165 | |||
3166 | template <typename Derived> |
||
3167 | bool VISITORCLASS<Derived>::TraverseNakedAttr(NakedAttr *A) { |
||
3168 | if (!getDerived().VisitAttr(A)) |
||
3169 | return false; |
||
3170 | if (!getDerived().VisitNakedAttr(A)) |
||
3171 | return false; |
||
3172 | return true; |
||
3173 | } |
||
3174 | |||
3175 | template <typename Derived> |
||
3176 | bool VISITORCLASS<Derived>::TraverseNoAliasAttr(NoAliasAttr *A) { |
||
3177 | if (!getDerived().VisitAttr(A)) |
||
3178 | return false; |
||
3179 | if (!getDerived().VisitNoAliasAttr(A)) |
||
3180 | return false; |
||
3181 | return true; |
||
3182 | } |
||
3183 | |||
3184 | template <typename Derived> |
||
3185 | bool VISITORCLASS<Derived>::TraverseNoBuiltinAttr(NoBuiltinAttr *A) { |
||
3186 | if (!getDerived().VisitAttr(A)) |
||
3187 | return false; |
||
3188 | if (!getDerived().VisitNoBuiltinAttr(A)) |
||
3189 | return false; |
||
3190 | return true; |
||
3191 | } |
||
3192 | |||
3193 | template <typename Derived> |
||
3194 | bool VISITORCLASS<Derived>::TraverseNoCommonAttr(NoCommonAttr *A) { |
||
3195 | if (!getDerived().VisitAttr(A)) |
||
3196 | return false; |
||
3197 | if (!getDerived().VisitNoCommonAttr(A)) |
||
3198 | return false; |
||
3199 | return true; |
||
3200 | } |
||
3201 | |||
3202 | template <typename Derived> |
||
3203 | bool VISITORCLASS<Derived>::TraverseNoDebugAttr(NoDebugAttr *A) { |
||
3204 | if (!getDerived().VisitAttr(A)) |
||
3205 | return false; |
||
3206 | if (!getDerived().VisitNoDebugAttr(A)) |
||
3207 | return false; |
||
3208 | return true; |
||
3209 | } |
||
3210 | |||
3211 | template <typename Derived> |
||
3212 | bool VISITORCLASS<Derived>::TraverseNoDerefAttr(NoDerefAttr *A) { |
||
3213 | if (!getDerived().VisitAttr(A)) |
||
3214 | return false; |
||
3215 | if (!getDerived().VisitNoDerefAttr(A)) |
||
3216 | return false; |
||
3217 | return true; |
||
3218 | } |
||
3219 | |||
3220 | template <typename Derived> |
||
3221 | bool VISITORCLASS<Derived>::TraverseNoDestroyAttr(NoDestroyAttr *A) { |
||
3222 | if (!getDerived().VisitAttr(A)) |
||
3223 | return false; |
||
3224 | if (!getDerived().VisitNoDestroyAttr(A)) |
||
3225 | return false; |
||
3226 | return true; |
||
3227 | } |
||
3228 | |||
3229 | template <typename Derived> |
||
3230 | bool VISITORCLASS<Derived>::TraverseNoDuplicateAttr(NoDuplicateAttr *A) { |
||
3231 | if (!getDerived().VisitAttr(A)) |
||
3232 | return false; |
||
3233 | if (!getDerived().VisitNoDuplicateAttr(A)) |
||
3234 | return false; |
||
3235 | return true; |
||
3236 | } |
||
3237 | |||
3238 | template <typename Derived> |
||
3239 | bool VISITORCLASS<Derived>::TraverseNoEscapeAttr(NoEscapeAttr *A) { |
||
3240 | if (!getDerived().VisitAttr(A)) |
||
3241 | return false; |
||
3242 | if (!getDerived().VisitNoEscapeAttr(A)) |
||
3243 | return false; |
||
3244 | return true; |
||
3245 | } |
||
3246 | |||
3247 | template <typename Derived> |
||
3248 | bool VISITORCLASS<Derived>::TraverseNoInlineAttr(NoInlineAttr *A) { |
||
3249 | if (!getDerived().VisitAttr(A)) |
||
3250 | return false; |
||
3251 | if (!getDerived().VisitNoInlineAttr(A)) |
||
3252 | return false; |
||
3253 | return true; |
||
3254 | } |
||
3255 | |||
3256 | template <typename Derived> |
||
3257 | bool VISITORCLASS<Derived>::TraverseNoInstrumentFunctionAttr(NoInstrumentFunctionAttr *A) { |
||
3258 | if (!getDerived().VisitAttr(A)) |
||
3259 | return false; |
||
3260 | if (!getDerived().VisitNoInstrumentFunctionAttr(A)) |
||
3261 | return false; |
||
3262 | return true; |
||
3263 | } |
||
3264 | |||
3265 | template <typename Derived> |
||
3266 | bool VISITORCLASS<Derived>::TraverseNoMergeAttr(NoMergeAttr *A) { |
||
3267 | if (!getDerived().VisitAttr(A)) |
||
3268 | return false; |
||
3269 | if (!getDerived().VisitNoMergeAttr(A)) |
||
3270 | return false; |
||
3271 | return true; |
||
3272 | } |
||
3273 | |||
3274 | template <typename Derived> |
||
3275 | bool VISITORCLASS<Derived>::TraverseNoMicroMipsAttr(NoMicroMipsAttr *A) { |
||
3276 | if (!getDerived().VisitAttr(A)) |
||
3277 | return false; |
||
3278 | if (!getDerived().VisitNoMicroMipsAttr(A)) |
||
3279 | return false; |
||
3280 | return true; |
||
3281 | } |
||
3282 | |||
3283 | template <typename Derived> |
||
3284 | bool VISITORCLASS<Derived>::TraverseNoMips16Attr(NoMips16Attr *A) { |
||
3285 | if (!getDerived().VisitAttr(A)) |
||
3286 | return false; |
||
3287 | if (!getDerived().VisitNoMips16Attr(A)) |
||
3288 | return false; |
||
3289 | return true; |
||
3290 | } |
||
3291 | |||
3292 | template <typename Derived> |
||
3293 | bool VISITORCLASS<Derived>::TraverseNoProfileFunctionAttr(NoProfileFunctionAttr *A) { |
||
3294 | if (!getDerived().VisitAttr(A)) |
||
3295 | return false; |
||
3296 | if (!getDerived().VisitNoProfileFunctionAttr(A)) |
||
3297 | return false; |
||
3298 | return true; |
||
3299 | } |
||
3300 | |||
3301 | template <typename Derived> |
||
3302 | bool VISITORCLASS<Derived>::TraverseNoRandomizeLayoutAttr(NoRandomizeLayoutAttr *A) { |
||
3303 | if (!getDerived().VisitAttr(A)) |
||
3304 | return false; |
||
3305 | if (!getDerived().VisitNoRandomizeLayoutAttr(A)) |
||
3306 | return false; |
||
3307 | return true; |
||
3308 | } |
||
3309 | |||
3310 | template <typename Derived> |
||
3311 | bool VISITORCLASS<Derived>::TraverseNoReturnAttr(NoReturnAttr *A) { |
||
3312 | if (!getDerived().VisitAttr(A)) |
||
3313 | return false; |
||
3314 | if (!getDerived().VisitNoReturnAttr(A)) |
||
3315 | return false; |
||
3316 | return true; |
||
3317 | } |
||
3318 | |||
3319 | template <typename Derived> |
||
3320 | bool VISITORCLASS<Derived>::TraverseNoSanitizeAttr(NoSanitizeAttr *A) { |
||
3321 | if (!getDerived().VisitAttr(A)) |
||
3322 | return false; |
||
3323 | if (!getDerived().VisitNoSanitizeAttr(A)) |
||
3324 | return false; |
||
3325 | return true; |
||
3326 | } |
||
3327 | |||
3328 | template <typename Derived> |
||
3329 | bool VISITORCLASS<Derived>::TraverseNoSpeculativeLoadHardeningAttr(NoSpeculativeLoadHardeningAttr *A) { |
||
3330 | if (!getDerived().VisitAttr(A)) |
||
3331 | return false; |
||
3332 | if (!getDerived().VisitNoSpeculativeLoadHardeningAttr(A)) |
||
3333 | return false; |
||
3334 | return true; |
||
3335 | } |
||
3336 | |||
3337 | template <typename Derived> |
||
3338 | bool VISITORCLASS<Derived>::TraverseNoSplitStackAttr(NoSplitStackAttr *A) { |
||
3339 | if (!getDerived().VisitAttr(A)) |
||
3340 | return false; |
||
3341 | if (!getDerived().VisitNoSplitStackAttr(A)) |
||
3342 | return false; |
||
3343 | return true; |
||
3344 | } |
||
3345 | |||
3346 | template <typename Derived> |
||
3347 | bool VISITORCLASS<Derived>::TraverseNoStackProtectorAttr(NoStackProtectorAttr *A) { |
||
3348 | if (!getDerived().VisitAttr(A)) |
||
3349 | return false; |
||
3350 | if (!getDerived().VisitNoStackProtectorAttr(A)) |
||
3351 | return false; |
||
3352 | return true; |
||
3353 | } |
||
3354 | |||
3355 | template <typename Derived> |
||
3356 | bool VISITORCLASS<Derived>::TraverseNoThreadSafetyAnalysisAttr(NoThreadSafetyAnalysisAttr *A) { |
||
3357 | if (!getDerived().VisitAttr(A)) |
||
3358 | return false; |
||
3359 | if (!getDerived().VisitNoThreadSafetyAnalysisAttr(A)) |
||
3360 | return false; |
||
3361 | return true; |
||
3362 | } |
||
3363 | |||
3364 | template <typename Derived> |
||
3365 | bool VISITORCLASS<Derived>::TraverseNoThrowAttr(NoThrowAttr *A) { |
||
3366 | if (!getDerived().VisitAttr(A)) |
||
3367 | return false; |
||
3368 | if (!getDerived().VisitNoThrowAttr(A)) |
||
3369 | return false; |
||
3370 | return true; |
||
3371 | } |
||
3372 | |||
3373 | template <typename Derived> |
||
3374 | bool VISITORCLASS<Derived>::TraverseNoUniqueAddressAttr(NoUniqueAddressAttr *A) { |
||
3375 | if (!getDerived().VisitAttr(A)) |
||
3376 | return false; |
||
3377 | if (!getDerived().VisitNoUniqueAddressAttr(A)) |
||
3378 | return false; |
||
3379 | return true; |
||
3380 | } |
||
3381 | |||
3382 | template <typename Derived> |
||
3383 | bool VISITORCLASS<Derived>::TraverseNoUwtableAttr(NoUwtableAttr *A) { |
||
3384 | if (!getDerived().VisitAttr(A)) |
||
3385 | return false; |
||
3386 | if (!getDerived().VisitNoUwtableAttr(A)) |
||
3387 | return false; |
||
3388 | return true; |
||
3389 | } |
||
3390 | |||
3391 | template <typename Derived> |
||
3392 | bool VISITORCLASS<Derived>::TraverseNonNullAttr(NonNullAttr *A) { |
||
3393 | if (!getDerived().VisitAttr(A)) |
||
3394 | return false; |
||
3395 | if (!getDerived().VisitNonNullAttr(A)) |
||
3396 | return false; |
||
3397 | return true; |
||
3398 | } |
||
3399 | |||
3400 | template <typename Derived> |
||
3401 | bool VISITORCLASS<Derived>::TraverseNotTailCalledAttr(NotTailCalledAttr *A) { |
||
3402 | if (!getDerived().VisitAttr(A)) |
||
3403 | return false; |
||
3404 | if (!getDerived().VisitNotTailCalledAttr(A)) |
||
3405 | return false; |
||
3406 | return true; |
||
3407 | } |
||
3408 | |||
3409 | template <typename Derived> |
||
3410 | bool VISITORCLASS<Derived>::TraverseOMPAllocateDeclAttr(OMPAllocateDeclAttr *A) { |
||
3411 | if (!getDerived().VisitAttr(A)) |
||
3412 | return false; |
||
3413 | if (!getDerived().VisitOMPAllocateDeclAttr(A)) |
||
3414 | return false; |
||
3415 | if (!getDerived().TraverseStmt(A->getAllocator())) |
||
3416 | return false; |
||
3417 | if (!getDerived().TraverseStmt(A->getAlignment())) |
||
3418 | return false; |
||
3419 | return true; |
||
3420 | } |
||
3421 | |||
3422 | template <typename Derived> |
||
3423 | bool VISITORCLASS<Derived>::TraverseOMPCaptureKindAttr(OMPCaptureKindAttr *A) { |
||
3424 | if (!getDerived().VisitAttr(A)) |
||
3425 | return false; |
||
3426 | if (!getDerived().VisitOMPCaptureKindAttr(A)) |
||
3427 | return false; |
||
3428 | return true; |
||
3429 | } |
||
3430 | |||
3431 | template <typename Derived> |
||
3432 | bool VISITORCLASS<Derived>::TraverseOMPCaptureNoInitAttr(OMPCaptureNoInitAttr *A) { |
||
3433 | if (!getDerived().VisitAttr(A)) |
||
3434 | return false; |
||
3435 | if (!getDerived().VisitOMPCaptureNoInitAttr(A)) |
||
3436 | return false; |
||
3437 | return true; |
||
3438 | } |
||
3439 | |||
3440 | template <typename Derived> |
||
3441 | bool VISITORCLASS<Derived>::TraverseOMPDeclareSimdDeclAttr(OMPDeclareSimdDeclAttr *A) { |
||
3442 | if (!getDerived().VisitAttr(A)) |
||
3443 | return false; |
||
3444 | if (!getDerived().VisitOMPDeclareSimdDeclAttr(A)) |
||
3445 | return false; |
||
3446 | if (!getDerived().TraverseStmt(A->getSimdlen())) |
||
3447 | return false; |
||
3448 | { |
||
3449 | Expr * *I = A->uniforms_begin(); |
||
3450 | Expr * *E = A->uniforms_end(); |
||
3451 | for (; I != E; ++I) { |
||
3452 | if (!getDerived().TraverseStmt(*I)) |
||
3453 | return false; |
||
3454 | } |
||
3455 | } |
||
3456 | { |
||
3457 | Expr * *I = A->aligneds_begin(); |
||
3458 | Expr * *E = A->aligneds_end(); |
||
3459 | for (; I != E; ++I) { |
||
3460 | if (!getDerived().TraverseStmt(*I)) |
||
3461 | return false; |
||
3462 | } |
||
3463 | } |
||
3464 | { |
||
3465 | Expr * *I = A->alignments_begin(); |
||
3466 | Expr * *E = A->alignments_end(); |
||
3467 | for (; I != E; ++I) { |
||
3468 | if (!getDerived().TraverseStmt(*I)) |
||
3469 | return false; |
||
3470 | } |
||
3471 | } |
||
3472 | { |
||
3473 | Expr * *I = A->linears_begin(); |
||
3474 | Expr * *E = A->linears_end(); |
||
3475 | for (; I != E; ++I) { |
||
3476 | if (!getDerived().TraverseStmt(*I)) |
||
3477 | return false; |
||
3478 | } |
||
3479 | } |
||
3480 | { |
||
3481 | Expr * *I = A->steps_begin(); |
||
3482 | Expr * *E = A->steps_end(); |
||
3483 | for (; I != E; ++I) { |
||
3484 | if (!getDerived().TraverseStmt(*I)) |
||
3485 | return false; |
||
3486 | } |
||
3487 | } |
||
3488 | return true; |
||
3489 | } |
||
3490 | |||
3491 | template <typename Derived> |
||
3492 | bool VISITORCLASS<Derived>::TraverseOMPDeclareTargetDeclAttr(OMPDeclareTargetDeclAttr *A) { |
||
3493 | if (!getDerived().VisitAttr(A)) |
||
3494 | return false; |
||
3495 | if (!getDerived().VisitOMPDeclareTargetDeclAttr(A)) |
||
3496 | return false; |
||
3497 | if (!getDerived().TraverseStmt(A->getIndirectExpr())) |
||
3498 | return false; |
||
3499 | return true; |
||
3500 | } |
||
3501 | |||
3502 | template <typename Derived> |
||
3503 | bool VISITORCLASS<Derived>::TraverseOMPDeclareVariantAttr(OMPDeclareVariantAttr *A) { |
||
3504 | if (!getDerived().VisitAttr(A)) |
||
3505 | return false; |
||
3506 | if (!getDerived().VisitOMPDeclareVariantAttr(A)) |
||
3507 | return false; |
||
3508 | if (!getDerived().TraverseStmt(A->getVariantFuncRef())) |
||
3509 | return false; |
||
3510 | { |
||
3511 | Expr * *I = A->adjustArgsNothing_begin(); |
||
3512 | Expr * *E = A->adjustArgsNothing_end(); |
||
3513 | for (; I != E; ++I) { |
||
3514 | if (!getDerived().TraverseStmt(*I)) |
||
3515 | return false; |
||
3516 | } |
||
3517 | } |
||
3518 | { |
||
3519 | Expr * *I = A->adjustArgsNeedDevicePtr_begin(); |
||
3520 | Expr * *E = A->adjustArgsNeedDevicePtr_end(); |
||
3521 | for (; I != E; ++I) { |
||
3522 | if (!getDerived().TraverseStmt(*I)) |
||
3523 | return false; |
||
3524 | } |
||
3525 | } |
||
3526 | return true; |
||
3527 | } |
||
3528 | |||
3529 | template <typename Derived> |
||
3530 | bool VISITORCLASS<Derived>::TraverseOMPReferencedVarAttr(OMPReferencedVarAttr *A) { |
||
3531 | if (!getDerived().VisitAttr(A)) |
||
3532 | return false; |
||
3533 | if (!getDerived().VisitOMPReferencedVarAttr(A)) |
||
3534 | return false; |
||
3535 | if (!getDerived().TraverseStmt(A->getRef())) |
||
3536 | return false; |
||
3537 | return true; |
||
3538 | } |
||
3539 | |||
3540 | template <typename Derived> |
||
3541 | bool VISITORCLASS<Derived>::TraverseOMPThreadPrivateDeclAttr(OMPThreadPrivateDeclAttr *A) { |
||
3542 | if (!getDerived().VisitAttr(A)) |
||
3543 | return false; |
||
3544 | if (!getDerived().VisitOMPThreadPrivateDeclAttr(A)) |
||
3545 | return false; |
||
3546 | return true; |
||
3547 | } |
||
3548 | |||
3549 | template <typename Derived> |
||
3550 | bool VISITORCLASS<Derived>::TraverseOSConsumedAttr(OSConsumedAttr *A) { |
||
3551 | if (!getDerived().VisitAttr(A)) |
||
3552 | return false; |
||
3553 | if (!getDerived().VisitOSConsumedAttr(A)) |
||
3554 | return false; |
||
3555 | return true; |
||
3556 | } |
||
3557 | |||
3558 | template <typename Derived> |
||
3559 | bool VISITORCLASS<Derived>::TraverseOSConsumesThisAttr(OSConsumesThisAttr *A) { |
||
3560 | if (!getDerived().VisitAttr(A)) |
||
3561 | return false; |
||
3562 | if (!getDerived().VisitOSConsumesThisAttr(A)) |
||
3563 | return false; |
||
3564 | return true; |
||
3565 | } |
||
3566 | |||
3567 | template <typename Derived> |
||
3568 | bool VISITORCLASS<Derived>::TraverseOSReturnsNotRetainedAttr(OSReturnsNotRetainedAttr *A) { |
||
3569 | if (!getDerived().VisitAttr(A)) |
||
3570 | return false; |
||
3571 | if (!getDerived().VisitOSReturnsNotRetainedAttr(A)) |
||
3572 | return false; |
||
3573 | return true; |
||
3574 | } |
||
3575 | |||
3576 | template <typename Derived> |
||
3577 | bool VISITORCLASS<Derived>::TraverseOSReturnsRetainedAttr(OSReturnsRetainedAttr *A) { |
||
3578 | if (!getDerived().VisitAttr(A)) |
||
3579 | return false; |
||
3580 | if (!getDerived().VisitOSReturnsRetainedAttr(A)) |
||
3581 | return false; |
||
3582 | return true; |
||
3583 | } |
||
3584 | |||
3585 | template <typename Derived> |
||
3586 | bool VISITORCLASS<Derived>::TraverseOSReturnsRetainedOnNonZeroAttr(OSReturnsRetainedOnNonZeroAttr *A) { |
||
3587 | if (!getDerived().VisitAttr(A)) |
||
3588 | return false; |
||
3589 | if (!getDerived().VisitOSReturnsRetainedOnNonZeroAttr(A)) |
||
3590 | return false; |
||
3591 | return true; |
||
3592 | } |
||
3593 | |||
3594 | template <typename Derived> |
||
3595 | bool VISITORCLASS<Derived>::TraverseOSReturnsRetainedOnZeroAttr(OSReturnsRetainedOnZeroAttr *A) { |
||
3596 | if (!getDerived().VisitAttr(A)) |
||
3597 | return false; |
||
3598 | if (!getDerived().VisitOSReturnsRetainedOnZeroAttr(A)) |
||
3599 | return false; |
||
3600 | return true; |
||
3601 | } |
||
3602 | |||
3603 | template <typename Derived> |
||
3604 | bool VISITORCLASS<Derived>::TraverseObjCBoxableAttr(ObjCBoxableAttr *A) { |
||
3605 | if (!getDerived().VisitAttr(A)) |
||
3606 | return false; |
||
3607 | if (!getDerived().VisitObjCBoxableAttr(A)) |
||
3608 | return false; |
||
3609 | return true; |
||
3610 | } |
||
3611 | |||
3612 | template <typename Derived> |
||
3613 | bool VISITORCLASS<Derived>::TraverseObjCBridgeAttr(ObjCBridgeAttr *A) { |
||
3614 | if (!getDerived().VisitAttr(A)) |
||
3615 | return false; |
||
3616 | if (!getDerived().VisitObjCBridgeAttr(A)) |
||
3617 | return false; |
||
3618 | return true; |
||
3619 | } |
||
3620 | |||
3621 | template <typename Derived> |
||
3622 | bool VISITORCLASS<Derived>::TraverseObjCBridgeMutableAttr(ObjCBridgeMutableAttr *A) { |
||
3623 | if (!getDerived().VisitAttr(A)) |
||
3624 | return false; |
||
3625 | if (!getDerived().VisitObjCBridgeMutableAttr(A)) |
||
3626 | return false; |
||
3627 | return true; |
||
3628 | } |
||
3629 | |||
3630 | template <typename Derived> |
||
3631 | bool VISITORCLASS<Derived>::TraverseObjCBridgeRelatedAttr(ObjCBridgeRelatedAttr *A) { |
||
3632 | if (!getDerived().VisitAttr(A)) |
||
3633 | return false; |
||
3634 | if (!getDerived().VisitObjCBridgeRelatedAttr(A)) |
||
3635 | return false; |
||
3636 | return true; |
||
3637 | } |
||
3638 | |||
3639 | template <typename Derived> |
||
3640 | bool VISITORCLASS<Derived>::TraverseObjCClassStubAttr(ObjCClassStubAttr *A) { |
||
3641 | if (!getDerived().VisitAttr(A)) |
||
3642 | return false; |
||
3643 | if (!getDerived().VisitObjCClassStubAttr(A)) |
||
3644 | return false; |
||
3645 | return true; |
||
3646 | } |
||
3647 | |||
3648 | template <typename Derived> |
||
3649 | bool VISITORCLASS<Derived>::TraverseObjCDesignatedInitializerAttr(ObjCDesignatedInitializerAttr *A) { |
||
3650 | if (!getDerived().VisitAttr(A)) |
||
3651 | return false; |
||
3652 | if (!getDerived().VisitObjCDesignatedInitializerAttr(A)) |
||
3653 | return false; |
||
3654 | return true; |
||
3655 | } |
||
3656 | |||
3657 | template <typename Derived> |
||
3658 | bool VISITORCLASS<Derived>::TraverseObjCDirectAttr(ObjCDirectAttr *A) { |
||
3659 | if (!getDerived().VisitAttr(A)) |
||
3660 | return false; |
||
3661 | if (!getDerived().VisitObjCDirectAttr(A)) |
||
3662 | return false; |
||
3663 | return true; |
||
3664 | } |
||
3665 | |||
3666 | template <typename Derived> |
||
3667 | bool VISITORCLASS<Derived>::TraverseObjCDirectMembersAttr(ObjCDirectMembersAttr *A) { |
||
3668 | if (!getDerived().VisitAttr(A)) |
||
3669 | return false; |
||
3670 | if (!getDerived().VisitObjCDirectMembersAttr(A)) |
||
3671 | return false; |
||
3672 | return true; |
||
3673 | } |
||
3674 | |||
3675 | template <typename Derived> |
||
3676 | bool VISITORCLASS<Derived>::TraverseObjCExceptionAttr(ObjCExceptionAttr *A) { |
||
3677 | if (!getDerived().VisitAttr(A)) |
||
3678 | return false; |
||
3679 | if (!getDerived().VisitObjCExceptionAttr(A)) |
||
3680 | return false; |
||
3681 | return true; |
||
3682 | } |
||
3683 | |||
3684 | template <typename Derived> |
||
3685 | bool VISITORCLASS<Derived>::TraverseObjCExplicitProtocolImplAttr(ObjCExplicitProtocolImplAttr *A) { |
||
3686 | if (!getDerived().VisitAttr(A)) |
||
3687 | return false; |
||
3688 | if (!getDerived().VisitObjCExplicitProtocolImplAttr(A)) |
||
3689 | return false; |
||
3690 | return true; |
||
3691 | } |
||
3692 | |||
3693 | template <typename Derived> |
||
3694 | bool VISITORCLASS<Derived>::TraverseObjCExternallyRetainedAttr(ObjCExternallyRetainedAttr *A) { |
||
3695 | if (!getDerived().VisitAttr(A)) |
||
3696 | return false; |
||
3697 | if (!getDerived().VisitObjCExternallyRetainedAttr(A)) |
||
3698 | return false; |
||
3699 | return true; |
||
3700 | } |
||
3701 | |||
3702 | template <typename Derived> |
||
3703 | bool VISITORCLASS<Derived>::TraverseObjCGCAttr(ObjCGCAttr *A) { |
||
3704 | if (!getDerived().VisitAttr(A)) |
||
3705 | return false; |
||
3706 | if (!getDerived().VisitObjCGCAttr(A)) |
||
3707 | return false; |
||
3708 | return true; |
||
3709 | } |
||
3710 | |||
3711 | template <typename Derived> |
||
3712 | bool VISITORCLASS<Derived>::TraverseObjCIndependentClassAttr(ObjCIndependentClassAttr *A) { |
||
3713 | if (!getDerived().VisitAttr(A)) |
||
3714 | return false; |
||
3715 | if (!getDerived().VisitObjCIndependentClassAttr(A)) |
||
3716 | return false; |
||
3717 | return true; |
||
3718 | } |
||
3719 | |||
3720 | template <typename Derived> |
||
3721 | bool VISITORCLASS<Derived>::TraverseObjCInertUnsafeUnretainedAttr(ObjCInertUnsafeUnretainedAttr *A) { |
||
3722 | if (!getDerived().VisitAttr(A)) |
||
3723 | return false; |
||
3724 | if (!getDerived().VisitObjCInertUnsafeUnretainedAttr(A)) |
||
3725 | return false; |
||
3726 | return true; |
||
3727 | } |
||
3728 | |||
3729 | template <typename Derived> |
||
3730 | bool VISITORCLASS<Derived>::TraverseObjCKindOfAttr(ObjCKindOfAttr *A) { |
||
3731 | if (!getDerived().VisitAttr(A)) |
||
3732 | return false; |
||
3733 | if (!getDerived().VisitObjCKindOfAttr(A)) |
||
3734 | return false; |
||
3735 | return true; |
||
3736 | } |
||
3737 | |||
3738 | template <typename Derived> |
||
3739 | bool VISITORCLASS<Derived>::TraverseObjCMethodFamilyAttr(ObjCMethodFamilyAttr *A) { |
||
3740 | if (!getDerived().VisitAttr(A)) |
||
3741 | return false; |
||
3742 | if (!getDerived().VisitObjCMethodFamilyAttr(A)) |
||
3743 | return false; |
||
3744 | return true; |
||
3745 | } |
||
3746 | |||
3747 | template <typename Derived> |
||
3748 | bool VISITORCLASS<Derived>::TraverseObjCNSObjectAttr(ObjCNSObjectAttr *A) { |
||
3749 | if (!getDerived().VisitAttr(A)) |
||
3750 | return false; |
||
3751 | if (!getDerived().VisitObjCNSObjectAttr(A)) |
||
3752 | return false; |
||
3753 | return true; |
||
3754 | } |
||
3755 | |||
3756 | template <typename Derived> |
||
3757 | bool VISITORCLASS<Derived>::TraverseObjCNonLazyClassAttr(ObjCNonLazyClassAttr *A) { |
||
3758 | if (!getDerived().VisitAttr(A)) |
||
3759 | return false; |
||
3760 | if (!getDerived().VisitObjCNonLazyClassAttr(A)) |
||
3761 | return false; |
||
3762 | return true; |
||
3763 | } |
||
3764 | |||
3765 | template <typename Derived> |
||
3766 | bool VISITORCLASS<Derived>::TraverseObjCNonRuntimeProtocolAttr(ObjCNonRuntimeProtocolAttr *A) { |
||
3767 | if (!getDerived().VisitAttr(A)) |
||
3768 | return false; |
||
3769 | if (!getDerived().VisitObjCNonRuntimeProtocolAttr(A)) |
||
3770 | return false; |
||
3771 | return true; |
||
3772 | } |
||
3773 | |||
3774 | template <typename Derived> |
||
3775 | bool VISITORCLASS<Derived>::TraverseObjCOwnershipAttr(ObjCOwnershipAttr *A) { |
||
3776 | if (!getDerived().VisitAttr(A)) |
||
3777 | return false; |
||
3778 | if (!getDerived().VisitObjCOwnershipAttr(A)) |
||
3779 | return false; |
||
3780 | return true; |
||
3781 | } |
||
3782 | |||
3783 | template <typename Derived> |
||
3784 | bool VISITORCLASS<Derived>::TraverseObjCPreciseLifetimeAttr(ObjCPreciseLifetimeAttr *A) { |
||
3785 | if (!getDerived().VisitAttr(A)) |
||
3786 | return false; |
||
3787 | if (!getDerived().VisitObjCPreciseLifetimeAttr(A)) |
||
3788 | return false; |
||
3789 | return true; |
||
3790 | } |
||
3791 | |||
3792 | template <typename Derived> |
||
3793 | bool VISITORCLASS<Derived>::TraverseObjCRequiresPropertyDefsAttr(ObjCRequiresPropertyDefsAttr *A) { |
||
3794 | if (!getDerived().VisitAttr(A)) |
||
3795 | return false; |
||
3796 | if (!getDerived().VisitObjCRequiresPropertyDefsAttr(A)) |
||
3797 | return false; |
||
3798 | return true; |
||
3799 | } |
||
3800 | |||
3801 | template <typename Derived> |
||
3802 | bool VISITORCLASS<Derived>::TraverseObjCRequiresSuperAttr(ObjCRequiresSuperAttr *A) { |
||
3803 | if (!getDerived().VisitAttr(A)) |
||
3804 | return false; |
||
3805 | if (!getDerived().VisitObjCRequiresSuperAttr(A)) |
||
3806 | return false; |
||
3807 | return true; |
||
3808 | } |
||
3809 | |||
3810 | template <typename Derived> |
||
3811 | bool VISITORCLASS<Derived>::TraverseObjCReturnsInnerPointerAttr(ObjCReturnsInnerPointerAttr *A) { |
||
3812 | if (!getDerived().VisitAttr(A)) |
||
3813 | return false; |
||
3814 | if (!getDerived().VisitObjCReturnsInnerPointerAttr(A)) |
||
3815 | return false; |
||
3816 | return true; |
||
3817 | } |
||
3818 | |||
3819 | template <typename Derived> |
||
3820 | bool VISITORCLASS<Derived>::TraverseObjCRootClassAttr(ObjCRootClassAttr *A) { |
||
3821 | if (!getDerived().VisitAttr(A)) |
||
3822 | return false; |
||
3823 | if (!getDerived().VisitObjCRootClassAttr(A)) |
||
3824 | return false; |
||
3825 | return true; |
||
3826 | } |
||
3827 | |||
3828 | template <typename Derived> |
||
3829 | bool VISITORCLASS<Derived>::TraverseObjCRuntimeNameAttr(ObjCRuntimeNameAttr *A) { |
||
3830 | if (!getDerived().VisitAttr(A)) |
||
3831 | return false; |
||
3832 | if (!getDerived().VisitObjCRuntimeNameAttr(A)) |
||
3833 | return false; |
||
3834 | return true; |
||
3835 | } |
||
3836 | |||
3837 | template <typename Derived> |
||
3838 | bool VISITORCLASS<Derived>::TraverseObjCRuntimeVisibleAttr(ObjCRuntimeVisibleAttr *A) { |
||
3839 | if (!getDerived().VisitAttr(A)) |
||
3840 | return false; |
||
3841 | if (!getDerived().VisitObjCRuntimeVisibleAttr(A)) |
||
3842 | return false; |
||
3843 | return true; |
||
3844 | } |
||
3845 | |||
3846 | template <typename Derived> |
||
3847 | bool VISITORCLASS<Derived>::TraverseObjCSubclassingRestrictedAttr(ObjCSubclassingRestrictedAttr *A) { |
||
3848 | if (!getDerived().VisitAttr(A)) |
||
3849 | return false; |
||
3850 | if (!getDerived().VisitObjCSubclassingRestrictedAttr(A)) |
||
3851 | return false; |
||
3852 | return true; |
||
3853 | } |
||
3854 | |||
3855 | template <typename Derived> |
||
3856 | bool VISITORCLASS<Derived>::TraverseOpenCLAccessAttr(OpenCLAccessAttr *A) { |
||
3857 | if (!getDerived().VisitAttr(A)) |
||
3858 | return false; |
||
3859 | if (!getDerived().VisitOpenCLAccessAttr(A)) |
||
3860 | return false; |
||
3861 | return true; |
||
3862 | } |
||
3863 | |||
3864 | template <typename Derived> |
||
3865 | bool VISITORCLASS<Derived>::TraverseOpenCLConstantAddressSpaceAttr(OpenCLConstantAddressSpaceAttr *A) { |
||
3866 | if (!getDerived().VisitAttr(A)) |
||
3867 | return false; |
||
3868 | if (!getDerived().VisitOpenCLConstantAddressSpaceAttr(A)) |
||
3869 | return false; |
||
3870 | return true; |
||
3871 | } |
||
3872 | |||
3873 | template <typename Derived> |
||
3874 | bool VISITORCLASS<Derived>::TraverseOpenCLGenericAddressSpaceAttr(OpenCLGenericAddressSpaceAttr *A) { |
||
3875 | if (!getDerived().VisitAttr(A)) |
||
3876 | return false; |
||
3877 | if (!getDerived().VisitOpenCLGenericAddressSpaceAttr(A)) |
||
3878 | return false; |
||
3879 | return true; |
||
3880 | } |
||
3881 | |||
3882 | template <typename Derived> |
||
3883 | bool VISITORCLASS<Derived>::TraverseOpenCLGlobalAddressSpaceAttr(OpenCLGlobalAddressSpaceAttr *A) { |
||
3884 | if (!getDerived().VisitAttr(A)) |
||
3885 | return false; |
||
3886 | if (!getDerived().VisitOpenCLGlobalAddressSpaceAttr(A)) |
||
3887 | return false; |
||
3888 | return true; |
||
3889 | } |
||
3890 | |||
3891 | template <typename Derived> |
||
3892 | bool VISITORCLASS<Derived>::TraverseOpenCLGlobalDeviceAddressSpaceAttr(OpenCLGlobalDeviceAddressSpaceAttr *A) { |
||
3893 | if (!getDerived().VisitAttr(A)) |
||
3894 | return false; |
||
3895 | if (!getDerived().VisitOpenCLGlobalDeviceAddressSpaceAttr(A)) |
||
3896 | return false; |
||
3897 | return true; |
||
3898 | } |
||
3899 | |||
3900 | template <typename Derived> |
||
3901 | bool VISITORCLASS<Derived>::TraverseOpenCLGlobalHostAddressSpaceAttr(OpenCLGlobalHostAddressSpaceAttr *A) { |
||
3902 | if (!getDerived().VisitAttr(A)) |
||
3903 | return false; |
||
3904 | if (!getDerived().VisitOpenCLGlobalHostAddressSpaceAttr(A)) |
||
3905 | return false; |
||
3906 | return true; |
||
3907 | } |
||
3908 | |||
3909 | template <typename Derived> |
||
3910 | bool VISITORCLASS<Derived>::TraverseOpenCLIntelReqdSubGroupSizeAttr(OpenCLIntelReqdSubGroupSizeAttr *A) { |
||
3911 | if (!getDerived().VisitAttr(A)) |
||
3912 | return false; |
||
3913 | if (!getDerived().VisitOpenCLIntelReqdSubGroupSizeAttr(A)) |
||
3914 | return false; |
||
3915 | return true; |
||
3916 | } |
||
3917 | |||
3918 | template <typename Derived> |
||
3919 | bool VISITORCLASS<Derived>::TraverseOpenCLKernelAttr(OpenCLKernelAttr *A) { |
||
3920 | if (!getDerived().VisitAttr(A)) |
||
3921 | return false; |
||
3922 | if (!getDerived().VisitOpenCLKernelAttr(A)) |
||
3923 | return false; |
||
3924 | return true; |
||
3925 | } |
||
3926 | |||
3927 | template <typename Derived> |
||
3928 | bool VISITORCLASS<Derived>::TraverseOpenCLLocalAddressSpaceAttr(OpenCLLocalAddressSpaceAttr *A) { |
||
3929 | if (!getDerived().VisitAttr(A)) |
||
3930 | return false; |
||
3931 | if (!getDerived().VisitOpenCLLocalAddressSpaceAttr(A)) |
||
3932 | return false; |
||
3933 | return true; |
||
3934 | } |
||
3935 | |||
3936 | template <typename Derived> |
||
3937 | bool VISITORCLASS<Derived>::TraverseOpenCLPrivateAddressSpaceAttr(OpenCLPrivateAddressSpaceAttr *A) { |
||
3938 | if (!getDerived().VisitAttr(A)) |
||
3939 | return false; |
||
3940 | if (!getDerived().VisitOpenCLPrivateAddressSpaceAttr(A)) |
||
3941 | return false; |
||
3942 | return true; |
||
3943 | } |
||
3944 | |||
3945 | template <typename Derived> |
||
3946 | bool VISITORCLASS<Derived>::TraverseOpenCLUnrollHintAttr(OpenCLUnrollHintAttr *A) { |
||
3947 | if (!getDerived().VisitAttr(A)) |
||
3948 | return false; |
||
3949 | if (!getDerived().VisitOpenCLUnrollHintAttr(A)) |
||
3950 | return false; |
||
3951 | return true; |
||
3952 | } |
||
3953 | |||
3954 | template <typename Derived> |
||
3955 | bool VISITORCLASS<Derived>::TraverseOptimizeNoneAttr(OptimizeNoneAttr *A) { |
||
3956 | if (!getDerived().VisitAttr(A)) |
||
3957 | return false; |
||
3958 | if (!getDerived().VisitOptimizeNoneAttr(A)) |
||
3959 | return false; |
||
3960 | return true; |
||
3961 | } |
||
3962 | |||
3963 | template <typename Derived> |
||
3964 | bool VISITORCLASS<Derived>::TraverseOverloadableAttr(OverloadableAttr *A) { |
||
3965 | if (!getDerived().VisitAttr(A)) |
||
3966 | return false; |
||
3967 | if (!getDerived().VisitOverloadableAttr(A)) |
||
3968 | return false; |
||
3969 | return true; |
||
3970 | } |
||
3971 | |||
3972 | template <typename Derived> |
||
3973 | bool VISITORCLASS<Derived>::TraverseOverrideAttr(OverrideAttr *A) { |
||
3974 | if (!getDerived().VisitAttr(A)) |
||
3975 | return false; |
||
3976 | if (!getDerived().VisitOverrideAttr(A)) |
||
3977 | return false; |
||
3978 | return true; |
||
3979 | } |
||
3980 | |||
3981 | template <typename Derived> |
||
3982 | bool VISITORCLASS<Derived>::TraverseOwnerAttr(OwnerAttr *A) { |
||
3983 | if (!getDerived().VisitAttr(A)) |
||
3984 | return false; |
||
3985 | if (!getDerived().VisitOwnerAttr(A)) |
||
3986 | return false; |
||
3987 | if (auto *TSI = A->getDerefTypeLoc()) |
||
3988 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
3989 | return false; |
||
3990 | return true; |
||
3991 | } |
||
3992 | |||
3993 | template <typename Derived> |
||
3994 | bool VISITORCLASS<Derived>::TraverseOwnershipAttr(OwnershipAttr *A) { |
||
3995 | if (!getDerived().VisitAttr(A)) |
||
3996 | return false; |
||
3997 | if (!getDerived().VisitOwnershipAttr(A)) |
||
3998 | return false; |
||
3999 | return true; |
||
4000 | } |
||
4001 | |||
4002 | template <typename Derived> |
||
4003 | bool VISITORCLASS<Derived>::TraversePackedAttr(PackedAttr *A) { |
||
4004 | if (!getDerived().VisitAttr(A)) |
||
4005 | return false; |
||
4006 | if (!getDerived().VisitPackedAttr(A)) |
||
4007 | return false; |
||
4008 | return true; |
||
4009 | } |
||
4010 | |||
4011 | template <typename Derived> |
||
4012 | bool VISITORCLASS<Derived>::TraverseParamTypestateAttr(ParamTypestateAttr *A) { |
||
4013 | if (!getDerived().VisitAttr(A)) |
||
4014 | return false; |
||
4015 | if (!getDerived().VisitParamTypestateAttr(A)) |
||
4016 | return false; |
||
4017 | return true; |
||
4018 | } |
||
4019 | |||
4020 | template <typename Derived> |
||
4021 | bool VISITORCLASS<Derived>::TraversePascalAttr(PascalAttr *A) { |
||
4022 | if (!getDerived().VisitAttr(A)) |
||
4023 | return false; |
||
4024 | if (!getDerived().VisitPascalAttr(A)) |
||
4025 | return false; |
||
4026 | return true; |
||
4027 | } |
||
4028 | |||
4029 | template <typename Derived> |
||
4030 | bool VISITORCLASS<Derived>::TraversePassObjectSizeAttr(PassObjectSizeAttr *A) { |
||
4031 | if (!getDerived().VisitAttr(A)) |
||
4032 | return false; |
||
4033 | if (!getDerived().VisitPassObjectSizeAttr(A)) |
||
4034 | return false; |
||
4035 | return true; |
||
4036 | } |
||
4037 | |||
4038 | template <typename Derived> |
||
4039 | bool VISITORCLASS<Derived>::TraversePatchableFunctionEntryAttr(PatchableFunctionEntryAttr *A) { |
||
4040 | if (!getDerived().VisitAttr(A)) |
||
4041 | return false; |
||
4042 | if (!getDerived().VisitPatchableFunctionEntryAttr(A)) |
||
4043 | return false; |
||
4044 | return true; |
||
4045 | } |
||
4046 | |||
4047 | template <typename Derived> |
||
4048 | bool VISITORCLASS<Derived>::TraversePcsAttr(PcsAttr *A) { |
||
4049 | if (!getDerived().VisitAttr(A)) |
||
4050 | return false; |
||
4051 | if (!getDerived().VisitPcsAttr(A)) |
||
4052 | return false; |
||
4053 | return true; |
||
4054 | } |
||
4055 | |||
4056 | template <typename Derived> |
||
4057 | bool VISITORCLASS<Derived>::TraversePointerAttr(PointerAttr *A) { |
||
4058 | if (!getDerived().VisitAttr(A)) |
||
4059 | return false; |
||
4060 | if (!getDerived().VisitPointerAttr(A)) |
||
4061 | return false; |
||
4062 | if (auto *TSI = A->getDerefTypeLoc()) |
||
4063 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
4064 | return false; |
||
4065 | return true; |
||
4066 | } |
||
4067 | |||
4068 | template <typename Derived> |
||
4069 | bool VISITORCLASS<Derived>::TraversePragmaClangBSSSectionAttr(PragmaClangBSSSectionAttr *A) { |
||
4070 | if (!getDerived().VisitAttr(A)) |
||
4071 | return false; |
||
4072 | if (!getDerived().VisitPragmaClangBSSSectionAttr(A)) |
||
4073 | return false; |
||
4074 | return true; |
||
4075 | } |
||
4076 | |||
4077 | template <typename Derived> |
||
4078 | bool VISITORCLASS<Derived>::TraversePragmaClangDataSectionAttr(PragmaClangDataSectionAttr *A) { |
||
4079 | if (!getDerived().VisitAttr(A)) |
||
4080 | return false; |
||
4081 | if (!getDerived().VisitPragmaClangDataSectionAttr(A)) |
||
4082 | return false; |
||
4083 | return true; |
||
4084 | } |
||
4085 | |||
4086 | template <typename Derived> |
||
4087 | bool VISITORCLASS<Derived>::TraversePragmaClangRelroSectionAttr(PragmaClangRelroSectionAttr *A) { |
||
4088 | if (!getDerived().VisitAttr(A)) |
||
4089 | return false; |
||
4090 | if (!getDerived().VisitPragmaClangRelroSectionAttr(A)) |
||
4091 | return false; |
||
4092 | return true; |
||
4093 | } |
||
4094 | |||
4095 | template <typename Derived> |
||
4096 | bool VISITORCLASS<Derived>::TraversePragmaClangRodataSectionAttr(PragmaClangRodataSectionAttr *A) { |
||
4097 | if (!getDerived().VisitAttr(A)) |
||
4098 | return false; |
||
4099 | if (!getDerived().VisitPragmaClangRodataSectionAttr(A)) |
||
4100 | return false; |
||
4101 | return true; |
||
4102 | } |
||
4103 | |||
4104 | template <typename Derived> |
||
4105 | bool VISITORCLASS<Derived>::TraversePragmaClangTextSectionAttr(PragmaClangTextSectionAttr *A) { |
||
4106 | if (!getDerived().VisitAttr(A)) |
||
4107 | return false; |
||
4108 | if (!getDerived().VisitPragmaClangTextSectionAttr(A)) |
||
4109 | return false; |
||
4110 | return true; |
||
4111 | } |
||
4112 | |||
4113 | template <typename Derived> |
||
4114 | bool VISITORCLASS<Derived>::TraversePreferredNameAttr(PreferredNameAttr *A) { |
||
4115 | if (!getDerived().VisitAttr(A)) |
||
4116 | return false; |
||
4117 | if (!getDerived().VisitPreferredNameAttr(A)) |
||
4118 | return false; |
||
4119 | if (auto *TSI = A->getTypedefTypeLoc()) |
||
4120 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
4121 | return false; |
||
4122 | return true; |
||
4123 | } |
||
4124 | |||
4125 | template <typename Derived> |
||
4126 | bool VISITORCLASS<Derived>::TraversePreserveAllAttr(PreserveAllAttr *A) { |
||
4127 | if (!getDerived().VisitAttr(A)) |
||
4128 | return false; |
||
4129 | if (!getDerived().VisitPreserveAllAttr(A)) |
||
4130 | return false; |
||
4131 | return true; |
||
4132 | } |
||
4133 | |||
4134 | template <typename Derived> |
||
4135 | bool VISITORCLASS<Derived>::TraversePreserveMostAttr(PreserveMostAttr *A) { |
||
4136 | if (!getDerived().VisitAttr(A)) |
||
4137 | return false; |
||
4138 | if (!getDerived().VisitPreserveMostAttr(A)) |
||
4139 | return false; |
||
4140 | return true; |
||
4141 | } |
||
4142 | |||
4143 | template <typename Derived> |
||
4144 | bool VISITORCLASS<Derived>::TraversePtGuardedByAttr(PtGuardedByAttr *A) { |
||
4145 | if (!getDerived().VisitAttr(A)) |
||
4146 | return false; |
||
4147 | if (!getDerived().VisitPtGuardedByAttr(A)) |
||
4148 | return false; |
||
4149 | if (!getDerived().TraverseStmt(A->getArg())) |
||
4150 | return false; |
||
4151 | return true; |
||
4152 | } |
||
4153 | |||
4154 | template <typename Derived> |
||
4155 | bool VISITORCLASS<Derived>::TraversePtGuardedVarAttr(PtGuardedVarAttr *A) { |
||
4156 | if (!getDerived().VisitAttr(A)) |
||
4157 | return false; |
||
4158 | if (!getDerived().VisitPtGuardedVarAttr(A)) |
||
4159 | return false; |
||
4160 | return true; |
||
4161 | } |
||
4162 | |||
4163 | template <typename Derived> |
||
4164 | bool VISITORCLASS<Derived>::TraversePtr32Attr(Ptr32Attr *A) { |
||
4165 | if (!getDerived().VisitAttr(A)) |
||
4166 | return false; |
||
4167 | if (!getDerived().VisitPtr32Attr(A)) |
||
4168 | return false; |
||
4169 | return true; |
||
4170 | } |
||
4171 | |||
4172 | template <typename Derived> |
||
4173 | bool VISITORCLASS<Derived>::TraversePtr64Attr(Ptr64Attr *A) { |
||
4174 | if (!getDerived().VisitAttr(A)) |
||
4175 | return false; |
||
4176 | if (!getDerived().VisitPtr64Attr(A)) |
||
4177 | return false; |
||
4178 | return true; |
||
4179 | } |
||
4180 | |||
4181 | template <typename Derived> |
||
4182 | bool VISITORCLASS<Derived>::TraversePureAttr(PureAttr *A) { |
||
4183 | if (!getDerived().VisitAttr(A)) |
||
4184 | return false; |
||
4185 | if (!getDerived().VisitPureAttr(A)) |
||
4186 | return false; |
||
4187 | return true; |
||
4188 | } |
||
4189 | |||
4190 | template <typename Derived> |
||
4191 | bool VISITORCLASS<Derived>::TraverseRISCVInterruptAttr(RISCVInterruptAttr *A) { |
||
4192 | if (!getDerived().VisitAttr(A)) |
||
4193 | return false; |
||
4194 | if (!getDerived().VisitRISCVInterruptAttr(A)) |
||
4195 | return false; |
||
4196 | return true; |
||
4197 | } |
||
4198 | |||
4199 | template <typename Derived> |
||
4200 | bool VISITORCLASS<Derived>::TraverseRandomizeLayoutAttr(RandomizeLayoutAttr *A) { |
||
4201 | if (!getDerived().VisitAttr(A)) |
||
4202 | return false; |
||
4203 | if (!getDerived().VisitRandomizeLayoutAttr(A)) |
||
4204 | return false; |
||
4205 | return true; |
||
4206 | } |
||
4207 | |||
4208 | template <typename Derived> |
||
4209 | bool VISITORCLASS<Derived>::TraverseReadOnlyPlacementAttr(ReadOnlyPlacementAttr *A) { |
||
4210 | if (!getDerived().VisitAttr(A)) |
||
4211 | return false; |
||
4212 | if (!getDerived().VisitReadOnlyPlacementAttr(A)) |
||
4213 | return false; |
||
4214 | return true; |
||
4215 | } |
||
4216 | |||
4217 | template <typename Derived> |
||
4218 | bool VISITORCLASS<Derived>::TraverseRegCallAttr(RegCallAttr *A) { |
||
4219 | if (!getDerived().VisitAttr(A)) |
||
4220 | return false; |
||
4221 | if (!getDerived().VisitRegCallAttr(A)) |
||
4222 | return false; |
||
4223 | return true; |
||
4224 | } |
||
4225 | |||
4226 | template <typename Derived> |
||
4227 | bool VISITORCLASS<Derived>::TraverseReinitializesAttr(ReinitializesAttr *A) { |
||
4228 | if (!getDerived().VisitAttr(A)) |
||
4229 | return false; |
||
4230 | if (!getDerived().VisitReinitializesAttr(A)) |
||
4231 | return false; |
||
4232 | return true; |
||
4233 | } |
||
4234 | |||
4235 | template <typename Derived> |
||
4236 | bool VISITORCLASS<Derived>::TraverseReleaseCapabilityAttr(ReleaseCapabilityAttr *A) { |
||
4237 | if (!getDerived().VisitAttr(A)) |
||
4238 | return false; |
||
4239 | if (!getDerived().VisitReleaseCapabilityAttr(A)) |
||
4240 | return false; |
||
4241 | { |
||
4242 | Expr * *I = A->args_begin(); |
||
4243 | Expr * *E = A->args_end(); |
||
4244 | for (; I != E; ++I) { |
||
4245 | if (!getDerived().TraverseStmt(*I)) |
||
4246 | return false; |
||
4247 | } |
||
4248 | } |
||
4249 | return true; |
||
4250 | } |
||
4251 | |||
4252 | template <typename Derived> |
||
4253 | bool VISITORCLASS<Derived>::TraverseReleaseHandleAttr(ReleaseHandleAttr *A) { |
||
4254 | if (!getDerived().VisitAttr(A)) |
||
4255 | return false; |
||
4256 | if (!getDerived().VisitReleaseHandleAttr(A)) |
||
4257 | return false; |
||
4258 | return true; |
||
4259 | } |
||
4260 | |||
4261 | template <typename Derived> |
||
4262 | bool VISITORCLASS<Derived>::TraverseRenderScriptKernelAttr(RenderScriptKernelAttr *A) { |
||
4263 | if (!getDerived().VisitAttr(A)) |
||
4264 | return false; |
||
4265 | if (!getDerived().VisitRenderScriptKernelAttr(A)) |
||
4266 | return false; |
||
4267 | return true; |
||
4268 | } |
||
4269 | |||
4270 | template <typename Derived> |
||
4271 | bool VISITORCLASS<Derived>::TraverseReqdWorkGroupSizeAttr(ReqdWorkGroupSizeAttr *A) { |
||
4272 | if (!getDerived().VisitAttr(A)) |
||
4273 | return false; |
||
4274 | if (!getDerived().VisitReqdWorkGroupSizeAttr(A)) |
||
4275 | return false; |
||
4276 | return true; |
||
4277 | } |
||
4278 | |||
4279 | template <typename Derived> |
||
4280 | bool VISITORCLASS<Derived>::TraverseRequiresCapabilityAttr(RequiresCapabilityAttr *A) { |
||
4281 | if (!getDerived().VisitAttr(A)) |
||
4282 | return false; |
||
4283 | if (!getDerived().VisitRequiresCapabilityAttr(A)) |
||
4284 | return false; |
||
4285 | { |
||
4286 | Expr * *I = A->args_begin(); |
||
4287 | Expr * *E = A->args_end(); |
||
4288 | for (; I != E; ++I) { |
||
4289 | if (!getDerived().TraverseStmt(*I)) |
||
4290 | return false; |
||
4291 | } |
||
4292 | } |
||
4293 | return true; |
||
4294 | } |
||
4295 | |||
4296 | template <typename Derived> |
||
4297 | bool VISITORCLASS<Derived>::TraverseRestrictAttr(RestrictAttr *A) { |
||
4298 | if (!getDerived().VisitAttr(A)) |
||
4299 | return false; |
||
4300 | if (!getDerived().VisitRestrictAttr(A)) |
||
4301 | return false; |
||
4302 | return true; |
||
4303 | } |
||
4304 | |||
4305 | template <typename Derived> |
||
4306 | bool VISITORCLASS<Derived>::TraverseRetainAttr(RetainAttr *A) { |
||
4307 | if (!getDerived().VisitAttr(A)) |
||
4308 | return false; |
||
4309 | if (!getDerived().VisitRetainAttr(A)) |
||
4310 | return false; |
||
4311 | return true; |
||
4312 | } |
||
4313 | |||
4314 | template <typename Derived> |
||
4315 | bool VISITORCLASS<Derived>::TraverseReturnTypestateAttr(ReturnTypestateAttr *A) { |
||
4316 | if (!getDerived().VisitAttr(A)) |
||
4317 | return false; |
||
4318 | if (!getDerived().VisitReturnTypestateAttr(A)) |
||
4319 | return false; |
||
4320 | return true; |
||
4321 | } |
||
4322 | |||
4323 | template <typename Derived> |
||
4324 | bool VISITORCLASS<Derived>::TraverseReturnsNonNullAttr(ReturnsNonNullAttr *A) { |
||
4325 | if (!getDerived().VisitAttr(A)) |
||
4326 | return false; |
||
4327 | if (!getDerived().VisitReturnsNonNullAttr(A)) |
||
4328 | return false; |
||
4329 | return true; |
||
4330 | } |
||
4331 | |||
4332 | template <typename Derived> |
||
4333 | bool VISITORCLASS<Derived>::TraverseReturnsTwiceAttr(ReturnsTwiceAttr *A) { |
||
4334 | if (!getDerived().VisitAttr(A)) |
||
4335 | return false; |
||
4336 | if (!getDerived().VisitReturnsTwiceAttr(A)) |
||
4337 | return false; |
||
4338 | return true; |
||
4339 | } |
||
4340 | |||
4341 | template <typename Derived> |
||
4342 | bool VISITORCLASS<Derived>::TraverseSPtrAttr(SPtrAttr *A) { |
||
4343 | if (!getDerived().VisitAttr(A)) |
||
4344 | return false; |
||
4345 | if (!getDerived().VisitSPtrAttr(A)) |
||
4346 | return false; |
||
4347 | return true; |
||
4348 | } |
||
4349 | |||
4350 | template <typename Derived> |
||
4351 | bool VISITORCLASS<Derived>::TraverseSYCLKernelAttr(SYCLKernelAttr *A) { |
||
4352 | if (!getDerived().VisitAttr(A)) |
||
4353 | return false; |
||
4354 | if (!getDerived().VisitSYCLKernelAttr(A)) |
||
4355 | return false; |
||
4356 | return true; |
||
4357 | } |
||
4358 | |||
4359 | template <typename Derived> |
||
4360 | bool VISITORCLASS<Derived>::TraverseSYCLSpecialClassAttr(SYCLSpecialClassAttr *A) { |
||
4361 | if (!getDerived().VisitAttr(A)) |
||
4362 | return false; |
||
4363 | if (!getDerived().VisitSYCLSpecialClassAttr(A)) |
||
4364 | return false; |
||
4365 | return true; |
||
4366 | } |
||
4367 | |||
4368 | template <typename Derived> |
||
4369 | bool VISITORCLASS<Derived>::TraverseScopedLockableAttr(ScopedLockableAttr *A) { |
||
4370 | if (!getDerived().VisitAttr(A)) |
||
4371 | return false; |
||
4372 | if (!getDerived().VisitScopedLockableAttr(A)) |
||
4373 | return false; |
||
4374 | return true; |
||
4375 | } |
||
4376 | |||
4377 | template <typename Derived> |
||
4378 | bool VISITORCLASS<Derived>::TraverseSectionAttr(SectionAttr *A) { |
||
4379 | if (!getDerived().VisitAttr(A)) |
||
4380 | return false; |
||
4381 | if (!getDerived().VisitSectionAttr(A)) |
||
4382 | return false; |
||
4383 | return true; |
||
4384 | } |
||
4385 | |||
4386 | template <typename Derived> |
||
4387 | bool VISITORCLASS<Derived>::TraverseSelectAnyAttr(SelectAnyAttr *A) { |
||
4388 | if (!getDerived().VisitAttr(A)) |
||
4389 | return false; |
||
4390 | if (!getDerived().VisitSelectAnyAttr(A)) |
||
4391 | return false; |
||
4392 | return true; |
||
4393 | } |
||
4394 | |||
4395 | template <typename Derived> |
||
4396 | bool VISITORCLASS<Derived>::TraverseSentinelAttr(SentinelAttr *A) { |
||
4397 | if (!getDerived().VisitAttr(A)) |
||
4398 | return false; |
||
4399 | if (!getDerived().VisitSentinelAttr(A)) |
||
4400 | return false; |
||
4401 | return true; |
||
4402 | } |
||
4403 | |||
4404 | template <typename Derived> |
||
4405 | bool VISITORCLASS<Derived>::TraverseSetTypestateAttr(SetTypestateAttr *A) { |
||
4406 | if (!getDerived().VisitAttr(A)) |
||
4407 | return false; |
||
4408 | if (!getDerived().VisitSetTypestateAttr(A)) |
||
4409 | return false; |
||
4410 | return true; |
||
4411 | } |
||
4412 | |||
4413 | template <typename Derived> |
||
4414 | bool VISITORCLASS<Derived>::TraverseSharedTrylockFunctionAttr(SharedTrylockFunctionAttr *A) { |
||
4415 | if (!getDerived().VisitAttr(A)) |
||
4416 | return false; |
||
4417 | if (!getDerived().VisitSharedTrylockFunctionAttr(A)) |
||
4418 | return false; |
||
4419 | if (!getDerived().TraverseStmt(A->getSuccessValue())) |
||
4420 | return false; |
||
4421 | { |
||
4422 | Expr * *I = A->args_begin(); |
||
4423 | Expr * *E = A->args_end(); |
||
4424 | for (; I != E; ++I) { |
||
4425 | if (!getDerived().TraverseStmt(*I)) |
||
4426 | return false; |
||
4427 | } |
||
4428 | } |
||
4429 | return true; |
||
4430 | } |
||
4431 | |||
4432 | template <typename Derived> |
||
4433 | bool VISITORCLASS<Derived>::TraverseSpeculativeLoadHardeningAttr(SpeculativeLoadHardeningAttr *A) { |
||
4434 | if (!getDerived().VisitAttr(A)) |
||
4435 | return false; |
||
4436 | if (!getDerived().VisitSpeculativeLoadHardeningAttr(A)) |
||
4437 | return false; |
||
4438 | return true; |
||
4439 | } |
||
4440 | |||
4441 | template <typename Derived> |
||
4442 | bool VISITORCLASS<Derived>::TraverseStandaloneDebugAttr(StandaloneDebugAttr *A) { |
||
4443 | if (!getDerived().VisitAttr(A)) |
||
4444 | return false; |
||
4445 | if (!getDerived().VisitStandaloneDebugAttr(A)) |
||
4446 | return false; |
||
4447 | return true; |
||
4448 | } |
||
4449 | |||
4450 | template <typename Derived> |
||
4451 | bool VISITORCLASS<Derived>::TraverseStdCallAttr(StdCallAttr *A) { |
||
4452 | if (!getDerived().VisitAttr(A)) |
||
4453 | return false; |
||
4454 | if (!getDerived().VisitStdCallAttr(A)) |
||
4455 | return false; |
||
4456 | return true; |
||
4457 | } |
||
4458 | |||
4459 | template <typename Derived> |
||
4460 | bool VISITORCLASS<Derived>::TraverseStrictFPAttr(StrictFPAttr *A) { |
||
4461 | if (!getDerived().VisitAttr(A)) |
||
4462 | return false; |
||
4463 | if (!getDerived().VisitStrictFPAttr(A)) |
||
4464 | return false; |
||
4465 | return true; |
||
4466 | } |
||
4467 | |||
4468 | template <typename Derived> |
||
4469 | bool VISITORCLASS<Derived>::TraverseStrictGuardStackCheckAttr(StrictGuardStackCheckAttr *A) { |
||
4470 | if (!getDerived().VisitAttr(A)) |
||
4471 | return false; |
||
4472 | if (!getDerived().VisitStrictGuardStackCheckAttr(A)) |
||
4473 | return false; |
||
4474 | return true; |
||
4475 | } |
||
4476 | |||
4477 | template <typename Derived> |
||
4478 | bool VISITORCLASS<Derived>::TraverseSuppressAttr(SuppressAttr *A) { |
||
4479 | if (!getDerived().VisitAttr(A)) |
||
4480 | return false; |
||
4481 | if (!getDerived().VisitSuppressAttr(A)) |
||
4482 | return false; |
||
4483 | return true; |
||
4484 | } |
||
4485 | |||
4486 | template <typename Derived> |
||
4487 | bool VISITORCLASS<Derived>::TraverseSwiftAsyncAttr(SwiftAsyncAttr *A) { |
||
4488 | if (!getDerived().VisitAttr(A)) |
||
4489 | return false; |
||
4490 | if (!getDerived().VisitSwiftAsyncAttr(A)) |
||
4491 | return false; |
||
4492 | return true; |
||
4493 | } |
||
4494 | |||
4495 | template <typename Derived> |
||
4496 | bool VISITORCLASS<Derived>::TraverseSwiftAsyncCallAttr(SwiftAsyncCallAttr *A) { |
||
4497 | if (!getDerived().VisitAttr(A)) |
||
4498 | return false; |
||
4499 | if (!getDerived().VisitSwiftAsyncCallAttr(A)) |
||
4500 | return false; |
||
4501 | return true; |
||
4502 | } |
||
4503 | |||
4504 | template <typename Derived> |
||
4505 | bool VISITORCLASS<Derived>::TraverseSwiftAsyncContextAttr(SwiftAsyncContextAttr *A) { |
||
4506 | if (!getDerived().VisitAttr(A)) |
||
4507 | return false; |
||
4508 | if (!getDerived().VisitSwiftAsyncContextAttr(A)) |
||
4509 | return false; |
||
4510 | return true; |
||
4511 | } |
||
4512 | |||
4513 | template <typename Derived> |
||
4514 | bool VISITORCLASS<Derived>::TraverseSwiftAsyncErrorAttr(SwiftAsyncErrorAttr *A) { |
||
4515 | if (!getDerived().VisitAttr(A)) |
||
4516 | return false; |
||
4517 | if (!getDerived().VisitSwiftAsyncErrorAttr(A)) |
||
4518 | return false; |
||
4519 | return true; |
||
4520 | } |
||
4521 | |||
4522 | template <typename Derived> |
||
4523 | bool VISITORCLASS<Derived>::TraverseSwiftAsyncNameAttr(SwiftAsyncNameAttr *A) { |
||
4524 | if (!getDerived().VisitAttr(A)) |
||
4525 | return false; |
||
4526 | if (!getDerived().VisitSwiftAsyncNameAttr(A)) |
||
4527 | return false; |
||
4528 | return true; |
||
4529 | } |
||
4530 | |||
4531 | template <typename Derived> |
||
4532 | bool VISITORCLASS<Derived>::TraverseSwiftAttrAttr(SwiftAttrAttr *A) { |
||
4533 | if (!getDerived().VisitAttr(A)) |
||
4534 | return false; |
||
4535 | if (!getDerived().VisitSwiftAttrAttr(A)) |
||
4536 | return false; |
||
4537 | return true; |
||
4538 | } |
||
4539 | |||
4540 | template <typename Derived> |
||
4541 | bool VISITORCLASS<Derived>::TraverseSwiftBridgeAttr(SwiftBridgeAttr *A) { |
||
4542 | if (!getDerived().VisitAttr(A)) |
||
4543 | return false; |
||
4544 | if (!getDerived().VisitSwiftBridgeAttr(A)) |
||
4545 | return false; |
||
4546 | return true; |
||
4547 | } |
||
4548 | |||
4549 | template <typename Derived> |
||
4550 | bool VISITORCLASS<Derived>::TraverseSwiftBridgedTypedefAttr(SwiftBridgedTypedefAttr *A) { |
||
4551 | if (!getDerived().VisitAttr(A)) |
||
4552 | return false; |
||
4553 | if (!getDerived().VisitSwiftBridgedTypedefAttr(A)) |
||
4554 | return false; |
||
4555 | return true; |
||
4556 | } |
||
4557 | |||
4558 | template <typename Derived> |
||
4559 | bool VISITORCLASS<Derived>::TraverseSwiftCallAttr(SwiftCallAttr *A) { |
||
4560 | if (!getDerived().VisitAttr(A)) |
||
4561 | return false; |
||
4562 | if (!getDerived().VisitSwiftCallAttr(A)) |
||
4563 | return false; |
||
4564 | return true; |
||
4565 | } |
||
4566 | |||
4567 | template <typename Derived> |
||
4568 | bool VISITORCLASS<Derived>::TraverseSwiftContextAttr(SwiftContextAttr *A) { |
||
4569 | if (!getDerived().VisitAttr(A)) |
||
4570 | return false; |
||
4571 | if (!getDerived().VisitSwiftContextAttr(A)) |
||
4572 | return false; |
||
4573 | return true; |
||
4574 | } |
||
4575 | |||
4576 | template <typename Derived> |
||
4577 | bool VISITORCLASS<Derived>::TraverseSwiftErrorAttr(SwiftErrorAttr *A) { |
||
4578 | if (!getDerived().VisitAttr(A)) |
||
4579 | return false; |
||
4580 | if (!getDerived().VisitSwiftErrorAttr(A)) |
||
4581 | return false; |
||
4582 | return true; |
||
4583 | } |
||
4584 | |||
4585 | template <typename Derived> |
||
4586 | bool VISITORCLASS<Derived>::TraverseSwiftErrorResultAttr(SwiftErrorResultAttr *A) { |
||
4587 | if (!getDerived().VisitAttr(A)) |
||
4588 | return false; |
||
4589 | if (!getDerived().VisitSwiftErrorResultAttr(A)) |
||
4590 | return false; |
||
4591 | return true; |
||
4592 | } |
||
4593 | |||
4594 | template <typename Derived> |
||
4595 | bool VISITORCLASS<Derived>::TraverseSwiftIndirectResultAttr(SwiftIndirectResultAttr *A) { |
||
4596 | if (!getDerived().VisitAttr(A)) |
||
4597 | return false; |
||
4598 | if (!getDerived().VisitSwiftIndirectResultAttr(A)) |
||
4599 | return false; |
||
4600 | return true; |
||
4601 | } |
||
4602 | |||
4603 | template <typename Derived> |
||
4604 | bool VISITORCLASS<Derived>::TraverseSwiftNameAttr(SwiftNameAttr *A) { |
||
4605 | if (!getDerived().VisitAttr(A)) |
||
4606 | return false; |
||
4607 | if (!getDerived().VisitSwiftNameAttr(A)) |
||
4608 | return false; |
||
4609 | return true; |
||
4610 | } |
||
4611 | |||
4612 | template <typename Derived> |
||
4613 | bool VISITORCLASS<Derived>::TraverseSwiftNewTypeAttr(SwiftNewTypeAttr *A) { |
||
4614 | if (!getDerived().VisitAttr(A)) |
||
4615 | return false; |
||
4616 | if (!getDerived().VisitSwiftNewTypeAttr(A)) |
||
4617 | return false; |
||
4618 | return true; |
||
4619 | } |
||
4620 | |||
4621 | template <typename Derived> |
||
4622 | bool VISITORCLASS<Derived>::TraverseSwiftObjCMembersAttr(SwiftObjCMembersAttr *A) { |
||
4623 | if (!getDerived().VisitAttr(A)) |
||
4624 | return false; |
||
4625 | if (!getDerived().VisitSwiftObjCMembersAttr(A)) |
||
4626 | return false; |
||
4627 | return true; |
||
4628 | } |
||
4629 | |||
4630 | template <typename Derived> |
||
4631 | bool VISITORCLASS<Derived>::TraverseSwiftPrivateAttr(SwiftPrivateAttr *A) { |
||
4632 | if (!getDerived().VisitAttr(A)) |
||
4633 | return false; |
||
4634 | if (!getDerived().VisitSwiftPrivateAttr(A)) |
||
4635 | return false; |
||
4636 | return true; |
||
4637 | } |
||
4638 | |||
4639 | template <typename Derived> |
||
4640 | bool VISITORCLASS<Derived>::TraverseSysVABIAttr(SysVABIAttr *A) { |
||
4641 | if (!getDerived().VisitAttr(A)) |
||
4642 | return false; |
||
4643 | if (!getDerived().VisitSysVABIAttr(A)) |
||
4644 | return false; |
||
4645 | return true; |
||
4646 | } |
||
4647 | |||
4648 | template <typename Derived> |
||
4649 | bool VISITORCLASS<Derived>::TraverseTLSModelAttr(TLSModelAttr *A) { |
||
4650 | if (!getDerived().VisitAttr(A)) |
||
4651 | return false; |
||
4652 | if (!getDerived().VisitTLSModelAttr(A)) |
||
4653 | return false; |
||
4654 | return true; |
||
4655 | } |
||
4656 | |||
4657 | template <typename Derived> |
||
4658 | bool VISITORCLASS<Derived>::TraverseTargetAttr(TargetAttr *A) { |
||
4659 | if (!getDerived().VisitAttr(A)) |
||
4660 | return false; |
||
4661 | if (!getDerived().VisitTargetAttr(A)) |
||
4662 | return false; |
||
4663 | return true; |
||
4664 | } |
||
4665 | |||
4666 | template <typename Derived> |
||
4667 | bool VISITORCLASS<Derived>::TraverseTargetClonesAttr(TargetClonesAttr *A) { |
||
4668 | if (!getDerived().VisitAttr(A)) |
||
4669 | return false; |
||
4670 | if (!getDerived().VisitTargetClonesAttr(A)) |
||
4671 | return false; |
||
4672 | return true; |
||
4673 | } |
||
4674 | |||
4675 | template <typename Derived> |
||
4676 | bool VISITORCLASS<Derived>::TraverseTargetVersionAttr(TargetVersionAttr *A) { |
||
4677 | if (!getDerived().VisitAttr(A)) |
||
4678 | return false; |
||
4679 | if (!getDerived().VisitTargetVersionAttr(A)) |
||
4680 | return false; |
||
4681 | return true; |
||
4682 | } |
||
4683 | |||
4684 | template <typename Derived> |
||
4685 | bool VISITORCLASS<Derived>::TraverseTestTypestateAttr(TestTypestateAttr *A) { |
||
4686 | if (!getDerived().VisitAttr(A)) |
||
4687 | return false; |
||
4688 | if (!getDerived().VisitTestTypestateAttr(A)) |
||
4689 | return false; |
||
4690 | return true; |
||
4691 | } |
||
4692 | |||
4693 | template <typename Derived> |
||
4694 | bool VISITORCLASS<Derived>::TraverseThisCallAttr(ThisCallAttr *A) { |
||
4695 | if (!getDerived().VisitAttr(A)) |
||
4696 | return false; |
||
4697 | if (!getDerived().VisitThisCallAttr(A)) |
||
4698 | return false; |
||
4699 | return true; |
||
4700 | } |
||
4701 | |||
4702 | template <typename Derived> |
||
4703 | bool VISITORCLASS<Derived>::TraverseThreadAttr(ThreadAttr *A) { |
||
4704 | if (!getDerived().VisitAttr(A)) |
||
4705 | return false; |
||
4706 | if (!getDerived().VisitThreadAttr(A)) |
||
4707 | return false; |
||
4708 | return true; |
||
4709 | } |
||
4710 | |||
4711 | template <typename Derived> |
||
4712 | bool VISITORCLASS<Derived>::TraverseTransparentUnionAttr(TransparentUnionAttr *A) { |
||
4713 | if (!getDerived().VisitAttr(A)) |
||
4714 | return false; |
||
4715 | if (!getDerived().VisitTransparentUnionAttr(A)) |
||
4716 | return false; |
||
4717 | return true; |
||
4718 | } |
||
4719 | |||
4720 | template <typename Derived> |
||
4721 | bool VISITORCLASS<Derived>::TraverseTrivialABIAttr(TrivialABIAttr *A) { |
||
4722 | if (!getDerived().VisitAttr(A)) |
||
4723 | return false; |
||
4724 | if (!getDerived().VisitTrivialABIAttr(A)) |
||
4725 | return false; |
||
4726 | return true; |
||
4727 | } |
||
4728 | |||
4729 | template <typename Derived> |
||
4730 | bool VISITORCLASS<Derived>::TraverseTryAcquireCapabilityAttr(TryAcquireCapabilityAttr *A) { |
||
4731 | if (!getDerived().VisitAttr(A)) |
||
4732 | return false; |
||
4733 | if (!getDerived().VisitTryAcquireCapabilityAttr(A)) |
||
4734 | return false; |
||
4735 | if (!getDerived().TraverseStmt(A->getSuccessValue())) |
||
4736 | return false; |
||
4737 | { |
||
4738 | Expr * *I = A->args_begin(); |
||
4739 | Expr * *E = A->args_end(); |
||
4740 | for (; I != E; ++I) { |
||
4741 | if (!getDerived().TraverseStmt(*I)) |
||
4742 | return false; |
||
4743 | } |
||
4744 | } |
||
4745 | return true; |
||
4746 | } |
||
4747 | |||
4748 | template <typename Derived> |
||
4749 | bool VISITORCLASS<Derived>::TraverseTypeNonNullAttr(TypeNonNullAttr *A) { |
||
4750 | if (!getDerived().VisitAttr(A)) |
||
4751 | return false; |
||
4752 | if (!getDerived().VisitTypeNonNullAttr(A)) |
||
4753 | return false; |
||
4754 | return true; |
||
4755 | } |
||
4756 | |||
4757 | template <typename Derived> |
||
4758 | bool VISITORCLASS<Derived>::TraverseTypeNullUnspecifiedAttr(TypeNullUnspecifiedAttr *A) { |
||
4759 | if (!getDerived().VisitAttr(A)) |
||
4760 | return false; |
||
4761 | if (!getDerived().VisitTypeNullUnspecifiedAttr(A)) |
||
4762 | return false; |
||
4763 | return true; |
||
4764 | } |
||
4765 | |||
4766 | template <typename Derived> |
||
4767 | bool VISITORCLASS<Derived>::TraverseTypeNullableAttr(TypeNullableAttr *A) { |
||
4768 | if (!getDerived().VisitAttr(A)) |
||
4769 | return false; |
||
4770 | if (!getDerived().VisitTypeNullableAttr(A)) |
||
4771 | return false; |
||
4772 | return true; |
||
4773 | } |
||
4774 | |||
4775 | template <typename Derived> |
||
4776 | bool VISITORCLASS<Derived>::TraverseTypeNullableResultAttr(TypeNullableResultAttr *A) { |
||
4777 | if (!getDerived().VisitAttr(A)) |
||
4778 | return false; |
||
4779 | if (!getDerived().VisitTypeNullableResultAttr(A)) |
||
4780 | return false; |
||
4781 | return true; |
||
4782 | } |
||
4783 | |||
4784 | template <typename Derived> |
||
4785 | bool VISITORCLASS<Derived>::TraverseTypeTagForDatatypeAttr(TypeTagForDatatypeAttr *A) { |
||
4786 | if (!getDerived().VisitAttr(A)) |
||
4787 | return false; |
||
4788 | if (!getDerived().VisitTypeTagForDatatypeAttr(A)) |
||
4789 | return false; |
||
4790 | if (auto *TSI = A->getMatchingCTypeLoc()) |
||
4791 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
4792 | return false; |
||
4793 | return true; |
||
4794 | } |
||
4795 | |||
4796 | template <typename Derived> |
||
4797 | bool VISITORCLASS<Derived>::TraverseTypeVisibilityAttr(TypeVisibilityAttr *A) { |
||
4798 | if (!getDerived().VisitAttr(A)) |
||
4799 | return false; |
||
4800 | if (!getDerived().VisitTypeVisibilityAttr(A)) |
||
4801 | return false; |
||
4802 | return true; |
||
4803 | } |
||
4804 | |||
4805 | template <typename Derived> |
||
4806 | bool VISITORCLASS<Derived>::TraverseUPtrAttr(UPtrAttr *A) { |
||
4807 | if (!getDerived().VisitAttr(A)) |
||
4808 | return false; |
||
4809 | if (!getDerived().VisitUPtrAttr(A)) |
||
4810 | return false; |
||
4811 | return true; |
||
4812 | } |
||
4813 | |||
4814 | template <typename Derived> |
||
4815 | bool VISITORCLASS<Derived>::TraverseUnavailableAttr(UnavailableAttr *A) { |
||
4816 | if (!getDerived().VisitAttr(A)) |
||
4817 | return false; |
||
4818 | if (!getDerived().VisitUnavailableAttr(A)) |
||
4819 | return false; |
||
4820 | return true; |
||
4821 | } |
||
4822 | |||
4823 | template <typename Derived> |
||
4824 | bool VISITORCLASS<Derived>::TraverseUninitializedAttr(UninitializedAttr *A) { |
||
4825 | if (!getDerived().VisitAttr(A)) |
||
4826 | return false; |
||
4827 | if (!getDerived().VisitUninitializedAttr(A)) |
||
4828 | return false; |
||
4829 | return true; |
||
4830 | } |
||
4831 | |||
4832 | template <typename Derived> |
||
4833 | bool VISITORCLASS<Derived>::TraverseUnlikelyAttr(UnlikelyAttr *A) { |
||
4834 | if (!getDerived().VisitAttr(A)) |
||
4835 | return false; |
||
4836 | if (!getDerived().VisitUnlikelyAttr(A)) |
||
4837 | return false; |
||
4838 | return true; |
||
4839 | } |
||
4840 | |||
4841 | template <typename Derived> |
||
4842 | bool VISITORCLASS<Derived>::TraverseUnusedAttr(UnusedAttr *A) { |
||
4843 | if (!getDerived().VisitAttr(A)) |
||
4844 | return false; |
||
4845 | if (!getDerived().VisitUnusedAttr(A)) |
||
4846 | return false; |
||
4847 | return true; |
||
4848 | } |
||
4849 | |||
4850 | template <typename Derived> |
||
4851 | bool VISITORCLASS<Derived>::TraverseUseHandleAttr(UseHandleAttr *A) { |
||
4852 | if (!getDerived().VisitAttr(A)) |
||
4853 | return false; |
||
4854 | if (!getDerived().VisitUseHandleAttr(A)) |
||
4855 | return false; |
||
4856 | return true; |
||
4857 | } |
||
4858 | |||
4859 | template <typename Derived> |
||
4860 | bool VISITORCLASS<Derived>::TraverseUsedAttr(UsedAttr *A) { |
||
4861 | if (!getDerived().VisitAttr(A)) |
||
4862 | return false; |
||
4863 | if (!getDerived().VisitUsedAttr(A)) |
||
4864 | return false; |
||
4865 | return true; |
||
4866 | } |
||
4867 | |||
4868 | template <typename Derived> |
||
4869 | bool VISITORCLASS<Derived>::TraverseUsingIfExistsAttr(UsingIfExistsAttr *A) { |
||
4870 | if (!getDerived().VisitAttr(A)) |
||
4871 | return false; |
||
4872 | if (!getDerived().VisitUsingIfExistsAttr(A)) |
||
4873 | return false; |
||
4874 | return true; |
||
4875 | } |
||
4876 | |||
4877 | template <typename Derived> |
||
4878 | bool VISITORCLASS<Derived>::TraverseUuidAttr(UuidAttr *A) { |
||
4879 | if (!getDerived().VisitAttr(A)) |
||
4880 | return false; |
||
4881 | if (!getDerived().VisitUuidAttr(A)) |
||
4882 | return false; |
||
4883 | return true; |
||
4884 | } |
||
4885 | |||
4886 | template <typename Derived> |
||
4887 | bool VISITORCLASS<Derived>::TraverseVecReturnAttr(VecReturnAttr *A) { |
||
4888 | if (!getDerived().VisitAttr(A)) |
||
4889 | return false; |
||
4890 | if (!getDerived().VisitVecReturnAttr(A)) |
||
4891 | return false; |
||
4892 | return true; |
||
4893 | } |
||
4894 | |||
4895 | template <typename Derived> |
||
4896 | bool VISITORCLASS<Derived>::TraverseVecTypeHintAttr(VecTypeHintAttr *A) { |
||
4897 | if (!getDerived().VisitAttr(A)) |
||
4898 | return false; |
||
4899 | if (!getDerived().VisitVecTypeHintAttr(A)) |
||
4900 | return false; |
||
4901 | if (auto *TSI = A->getTypeHintLoc()) |
||
4902 | if (!getDerived().TraverseTypeLoc(TSI->getTypeLoc())) |
||
4903 | return false; |
||
4904 | return true; |
||
4905 | } |
||
4906 | |||
4907 | template <typename Derived> |
||
4908 | bool VISITORCLASS<Derived>::TraverseVectorCallAttr(VectorCallAttr *A) { |
||
4909 | if (!getDerived().VisitAttr(A)) |
||
4910 | return false; |
||
4911 | if (!getDerived().VisitVectorCallAttr(A)) |
||
4912 | return false; |
||
4913 | return true; |
||
4914 | } |
||
4915 | |||
4916 | template <typename Derived> |
||
4917 | bool VISITORCLASS<Derived>::TraverseVisibilityAttr(VisibilityAttr *A) { |
||
4918 | if (!getDerived().VisitAttr(A)) |
||
4919 | return false; |
||
4920 | if (!getDerived().VisitVisibilityAttr(A)) |
||
4921 | return false; |
||
4922 | return true; |
||
4923 | } |
||
4924 | |||
4925 | template <typename Derived> |
||
4926 | bool VISITORCLASS<Derived>::TraverseWarnUnusedAttr(WarnUnusedAttr *A) { |
||
4927 | if (!getDerived().VisitAttr(A)) |
||
4928 | return false; |
||
4929 | if (!getDerived().VisitWarnUnusedAttr(A)) |
||
4930 | return false; |
||
4931 | return true; |
||
4932 | } |
||
4933 | |||
4934 | template <typename Derived> |
||
4935 | bool VISITORCLASS<Derived>::TraverseWarnUnusedResultAttr(WarnUnusedResultAttr *A) { |
||
4936 | if (!getDerived().VisitAttr(A)) |
||
4937 | return false; |
||
4938 | if (!getDerived().VisitWarnUnusedResultAttr(A)) |
||
4939 | return false; |
||
4940 | return true; |
||
4941 | } |
||
4942 | |||
4943 | template <typename Derived> |
||
4944 | bool VISITORCLASS<Derived>::TraverseWeakAttr(WeakAttr *A) { |
||
4945 | if (!getDerived().VisitAttr(A)) |
||
4946 | return false; |
||
4947 | if (!getDerived().VisitWeakAttr(A)) |
||
4948 | return false; |
||
4949 | return true; |
||
4950 | } |
||
4951 | |||
4952 | template <typename Derived> |
||
4953 | bool VISITORCLASS<Derived>::TraverseWeakImportAttr(WeakImportAttr *A) { |
||
4954 | if (!getDerived().VisitAttr(A)) |
||
4955 | return false; |
||
4956 | if (!getDerived().VisitWeakImportAttr(A)) |
||
4957 | return false; |
||
4958 | return true; |
||
4959 | } |
||
4960 | |||
4961 | template <typename Derived> |
||
4962 | bool VISITORCLASS<Derived>::TraverseWeakRefAttr(WeakRefAttr *A) { |
||
4963 | if (!getDerived().VisitAttr(A)) |
||
4964 | return false; |
||
4965 | if (!getDerived().VisitWeakRefAttr(A)) |
||
4966 | return false; |
||
4967 | return true; |
||
4968 | } |
||
4969 | |||
4970 | template <typename Derived> |
||
4971 | bool VISITORCLASS<Derived>::TraverseWebAssemblyExportNameAttr(WebAssemblyExportNameAttr *A) { |
||
4972 | if (!getDerived().VisitAttr(A)) |
||
4973 | return false; |
||
4974 | if (!getDerived().VisitWebAssemblyExportNameAttr(A)) |
||
4975 | return false; |
||
4976 | return true; |
||
4977 | } |
||
4978 | |||
4979 | template <typename Derived> |
||
4980 | bool VISITORCLASS<Derived>::TraverseWebAssemblyImportModuleAttr(WebAssemblyImportModuleAttr *A) { |
||
4981 | if (!getDerived().VisitAttr(A)) |
||
4982 | return false; |
||
4983 | if (!getDerived().VisitWebAssemblyImportModuleAttr(A)) |
||
4984 | return false; |
||
4985 | return true; |
||
4986 | } |
||
4987 | |||
4988 | template <typename Derived> |
||
4989 | bool VISITORCLASS<Derived>::TraverseWebAssemblyImportNameAttr(WebAssemblyImportNameAttr *A) { |
||
4990 | if (!getDerived().VisitAttr(A)) |
||
4991 | return false; |
||
4992 | if (!getDerived().VisitWebAssemblyImportNameAttr(A)) |
||
4993 | return false; |
||
4994 | return true; |
||
4995 | } |
||
4996 | |||
4997 | template <typename Derived> |
||
4998 | bool VISITORCLASS<Derived>::TraverseWorkGroupSizeHintAttr(WorkGroupSizeHintAttr *A) { |
||
4999 | if (!getDerived().VisitAttr(A)) |
||
5000 | return false; |
||
5001 | if (!getDerived().VisitWorkGroupSizeHintAttr(A)) |
||
5002 | return false; |
||
5003 | return true; |
||
5004 | } |
||
5005 | |||
5006 | template <typename Derived> |
||
5007 | bool VISITORCLASS<Derived>::TraverseX86ForceAlignArgPointerAttr(X86ForceAlignArgPointerAttr *A) { |
||
5008 | if (!getDerived().VisitAttr(A)) |
||
5009 | return false; |
||
5010 | if (!getDerived().VisitX86ForceAlignArgPointerAttr(A)) |
||
5011 | return false; |
||
5012 | return true; |
||
5013 | } |
||
5014 | |||
5015 | template <typename Derived> |
||
5016 | bool VISITORCLASS<Derived>::TraverseXRayInstrumentAttr(XRayInstrumentAttr *A) { |
||
5017 | if (!getDerived().VisitAttr(A)) |
||
5018 | return false; |
||
5019 | if (!getDerived().VisitXRayInstrumentAttr(A)) |
||
5020 | return false; |
||
5021 | return true; |
||
5022 | } |
||
5023 | |||
5024 | template <typename Derived> |
||
5025 | bool VISITORCLASS<Derived>::TraverseXRayLogArgsAttr(XRayLogArgsAttr *A) { |
||
5026 | if (!getDerived().VisitAttr(A)) |
||
5027 | return false; |
||
5028 | if (!getDerived().VisitXRayLogArgsAttr(A)) |
||
5029 | return false; |
||
5030 | return true; |
||
5031 | } |
||
5032 | |||
5033 | template <typename Derived> |
||
5034 | bool VISITORCLASS<Derived>::TraverseZeroCallUsedRegsAttr(ZeroCallUsedRegsAttr *A) { |
||
5035 | if (!getDerived().VisitAttr(A)) |
||
5036 | return false; |
||
5037 | if (!getDerived().VisitZeroCallUsedRegsAttr(A)) |
||
5038 | return false; |
||
5039 | return true; |
||
5040 | } |
||
5041 | |||
5042 | template <typename Derived> |
||
5043 | bool VISITORCLASS<Derived>::TraverseAttr(Attr *A) { |
||
5044 | if (!A) |
||
5045 | return true; |
||
5046 | |||
5047 | switch (A->getKind()) { |
||
5048 | case attr::AArch64SVEPcs: |
||
5049 | return getDerived().TraverseAArch64SVEPcsAttr(cast<AArch64SVEPcsAttr>(A)); |
||
5050 | case attr::AArch64VectorPcs: |
||
5051 | return getDerived().TraverseAArch64VectorPcsAttr(cast<AArch64VectorPcsAttr>(A)); |
||
5052 | case attr::AMDGPUFlatWorkGroupSize: |
||
5053 | return getDerived().TraverseAMDGPUFlatWorkGroupSizeAttr(cast<AMDGPUFlatWorkGroupSizeAttr>(A)); |
||
5054 | case attr::AMDGPUKernelCall: |
||
5055 | return getDerived().TraverseAMDGPUKernelCallAttr(cast<AMDGPUKernelCallAttr>(A)); |
||
5056 | case attr::AMDGPUNumSGPR: |
||
5057 | return getDerived().TraverseAMDGPUNumSGPRAttr(cast<AMDGPUNumSGPRAttr>(A)); |
||
5058 | case attr::AMDGPUNumVGPR: |
||
5059 | return getDerived().TraverseAMDGPUNumVGPRAttr(cast<AMDGPUNumVGPRAttr>(A)); |
||
5060 | case attr::AMDGPUWavesPerEU: |
||
5061 | return getDerived().TraverseAMDGPUWavesPerEUAttr(cast<AMDGPUWavesPerEUAttr>(A)); |
||
5062 | case attr::ARMInterrupt: |
||
5063 | return getDerived().TraverseARMInterruptAttr(cast<ARMInterruptAttr>(A)); |
||
5064 | case attr::AVRInterrupt: |
||
5065 | return getDerived().TraverseAVRInterruptAttr(cast<AVRInterruptAttr>(A)); |
||
5066 | case attr::AVRSignal: |
||
5067 | return getDerived().TraverseAVRSignalAttr(cast<AVRSignalAttr>(A)); |
||
5068 | case attr::AbiTag: |
||
5069 | return getDerived().TraverseAbiTagAttr(cast<AbiTagAttr>(A)); |
||
5070 | case attr::AcquireCapability: |
||
5071 | return getDerived().TraverseAcquireCapabilityAttr(cast<AcquireCapabilityAttr>(A)); |
||
5072 | case attr::AcquireHandle: |
||
5073 | return getDerived().TraverseAcquireHandleAttr(cast<AcquireHandleAttr>(A)); |
||
5074 | case attr::AcquiredAfter: |
||
5075 | return getDerived().TraverseAcquiredAfterAttr(cast<AcquiredAfterAttr>(A)); |
||
5076 | case attr::AcquiredBefore: |
||
5077 | return getDerived().TraverseAcquiredBeforeAttr(cast<AcquiredBeforeAttr>(A)); |
||
5078 | case attr::AddressSpace: |
||
5079 | return getDerived().TraverseAddressSpaceAttr(cast<AddressSpaceAttr>(A)); |
||
5080 | case attr::Alias: |
||
5081 | return getDerived().TraverseAliasAttr(cast<AliasAttr>(A)); |
||
5082 | case attr::AlignMac68k: |
||
5083 | return getDerived().TraverseAlignMac68kAttr(cast<AlignMac68kAttr>(A)); |
||
5084 | case attr::AlignNatural: |
||
5085 | return getDerived().TraverseAlignNaturalAttr(cast<AlignNaturalAttr>(A)); |
||
5086 | case attr::AlignValue: |
||
5087 | return getDerived().TraverseAlignValueAttr(cast<AlignValueAttr>(A)); |
||
5088 | case attr::Aligned: |
||
5089 | return getDerived().TraverseAlignedAttr(cast<AlignedAttr>(A)); |
||
5090 | case attr::AllocAlign: |
||
5091 | return getDerived().TraverseAllocAlignAttr(cast<AllocAlignAttr>(A)); |
||
5092 | case attr::AllocSize: |
||
5093 | return getDerived().TraverseAllocSizeAttr(cast<AllocSizeAttr>(A)); |
||
5094 | case attr::AlwaysDestroy: |
||
5095 | return getDerived().TraverseAlwaysDestroyAttr(cast<AlwaysDestroyAttr>(A)); |
||
5096 | case attr::AlwaysInline: |
||
5097 | return getDerived().TraverseAlwaysInlineAttr(cast<AlwaysInlineAttr>(A)); |
||
5098 | case attr::AnalyzerNoReturn: |
||
5099 | return getDerived().TraverseAnalyzerNoReturnAttr(cast<AnalyzerNoReturnAttr>(A)); |
||
5100 | case attr::Annotate: |
||
5101 | return getDerived().TraverseAnnotateAttr(cast<AnnotateAttr>(A)); |
||
5102 | case attr::AnnotateType: |
||
5103 | return getDerived().TraverseAnnotateTypeAttr(cast<AnnotateTypeAttr>(A)); |
||
5104 | case attr::AnyX86Interrupt: |
||
5105 | return getDerived().TraverseAnyX86InterruptAttr(cast<AnyX86InterruptAttr>(A)); |
||
5106 | case attr::AnyX86NoCallerSavedRegisters: |
||
5107 | return getDerived().TraverseAnyX86NoCallerSavedRegistersAttr(cast<AnyX86NoCallerSavedRegistersAttr>(A)); |
||
5108 | case attr::AnyX86NoCfCheck: |
||
5109 | return getDerived().TraverseAnyX86NoCfCheckAttr(cast<AnyX86NoCfCheckAttr>(A)); |
||
5110 | case attr::ArcWeakrefUnavailable: |
||
5111 | return getDerived().TraverseArcWeakrefUnavailableAttr(cast<ArcWeakrefUnavailableAttr>(A)); |
||
5112 | case attr::ArgumentWithTypeTag: |
||
5113 | return getDerived().TraverseArgumentWithTypeTagAttr(cast<ArgumentWithTypeTagAttr>(A)); |
||
5114 | case attr::ArmBuiltinAlias: |
||
5115 | return getDerived().TraverseArmBuiltinAliasAttr(cast<ArmBuiltinAliasAttr>(A)); |
||
5116 | case attr::ArmMveStrictPolymorphism: |
||
5117 | return getDerived().TraverseArmMveStrictPolymorphismAttr(cast<ArmMveStrictPolymorphismAttr>(A)); |
||
5118 | case attr::Artificial: |
||
5119 | return getDerived().TraverseArtificialAttr(cast<ArtificialAttr>(A)); |
||
5120 | case attr::AsmLabel: |
||
5121 | return getDerived().TraverseAsmLabelAttr(cast<AsmLabelAttr>(A)); |
||
5122 | case attr::AssertCapability: |
||
5123 | return getDerived().TraverseAssertCapabilityAttr(cast<AssertCapabilityAttr>(A)); |
||
5124 | case attr::AssertExclusiveLock: |
||
5125 | return getDerived().TraverseAssertExclusiveLockAttr(cast<AssertExclusiveLockAttr>(A)); |
||
5126 | case attr::AssertSharedLock: |
||
5127 | return getDerived().TraverseAssertSharedLockAttr(cast<AssertSharedLockAttr>(A)); |
||
5128 | case attr::AssumeAligned: |
||
5129 | return getDerived().TraverseAssumeAlignedAttr(cast<AssumeAlignedAttr>(A)); |
||
5130 | case attr::Assumption: |
||
5131 | return getDerived().TraverseAssumptionAttr(cast<AssumptionAttr>(A)); |
||
5132 | case attr::Availability: |
||
5133 | return getDerived().TraverseAvailabilityAttr(cast<AvailabilityAttr>(A)); |
||
5134 | case attr::BPFPreserveAccessIndex: |
||
5135 | return getDerived().TraverseBPFPreserveAccessIndexAttr(cast<BPFPreserveAccessIndexAttr>(A)); |
||
5136 | case attr::BTFDeclTag: |
||
5137 | return getDerived().TraverseBTFDeclTagAttr(cast<BTFDeclTagAttr>(A)); |
||
5138 | case attr::BTFTypeTag: |
||
5139 | return getDerived().TraverseBTFTypeTagAttr(cast<BTFTypeTagAttr>(A)); |
||
5140 | case attr::Blocks: |
||
5141 | return getDerived().TraverseBlocksAttr(cast<BlocksAttr>(A)); |
||
5142 | case attr::Builtin: |
||
5143 | return getDerived().TraverseBuiltinAttr(cast<BuiltinAttr>(A)); |
||
5144 | case attr::BuiltinAlias: |
||
5145 | return getDerived().TraverseBuiltinAliasAttr(cast<BuiltinAliasAttr>(A)); |
||
5146 | case attr::C11NoReturn: |
||
5147 | return getDerived().TraverseC11NoReturnAttr(cast<C11NoReturnAttr>(A)); |
||
5148 | case attr::CDecl: |
||
5149 | return getDerived().TraverseCDeclAttr(cast<CDeclAttr>(A)); |
||
5150 | case attr::CFAuditedTransfer: |
||
5151 | return getDerived().TraverseCFAuditedTransferAttr(cast<CFAuditedTransferAttr>(A)); |
||
5152 | case attr::CFConsumed: |
||
5153 | return getDerived().TraverseCFConsumedAttr(cast<CFConsumedAttr>(A)); |
||
5154 | case attr::CFGuard: |
||
5155 | return getDerived().TraverseCFGuardAttr(cast<CFGuardAttr>(A)); |
||
5156 | case attr::CFICanonicalJumpTable: |
||
5157 | return getDerived().TraverseCFICanonicalJumpTableAttr(cast<CFICanonicalJumpTableAttr>(A)); |
||
5158 | case attr::CFReturnsNotRetained: |
||
5159 | return getDerived().TraverseCFReturnsNotRetainedAttr(cast<CFReturnsNotRetainedAttr>(A)); |
||
5160 | case attr::CFReturnsRetained: |
||
5161 | return getDerived().TraverseCFReturnsRetainedAttr(cast<CFReturnsRetainedAttr>(A)); |
||
5162 | case attr::CFUnknownTransfer: |
||
5163 | return getDerived().TraverseCFUnknownTransferAttr(cast<CFUnknownTransferAttr>(A)); |
||
5164 | case attr::CPUDispatch: |
||
5165 | return getDerived().TraverseCPUDispatchAttr(cast<CPUDispatchAttr>(A)); |
||
5166 | case attr::CPUSpecific: |
||
5167 | return getDerived().TraverseCPUSpecificAttr(cast<CPUSpecificAttr>(A)); |
||
5168 | case attr::CUDAConstant: |
||
5169 | return getDerived().TraverseCUDAConstantAttr(cast<CUDAConstantAttr>(A)); |
||
5170 | case attr::CUDADevice: |
||
5171 | return getDerived().TraverseCUDADeviceAttr(cast<CUDADeviceAttr>(A)); |
||
5172 | case attr::CUDADeviceBuiltinSurfaceType: |
||
5173 | return getDerived().TraverseCUDADeviceBuiltinSurfaceTypeAttr(cast<CUDADeviceBuiltinSurfaceTypeAttr>(A)); |
||
5174 | case attr::CUDADeviceBuiltinTextureType: |
||
5175 | return getDerived().TraverseCUDADeviceBuiltinTextureTypeAttr(cast<CUDADeviceBuiltinTextureTypeAttr>(A)); |
||
5176 | case attr::CUDAGlobal: |
||
5177 | return getDerived().TraverseCUDAGlobalAttr(cast<CUDAGlobalAttr>(A)); |
||
5178 | case attr::CUDAHost: |
||
5179 | return getDerived().TraverseCUDAHostAttr(cast<CUDAHostAttr>(A)); |
||
5180 | case attr::CUDAInvalidTarget: |
||
5181 | return getDerived().TraverseCUDAInvalidTargetAttr(cast<CUDAInvalidTargetAttr>(A)); |
||
5182 | case attr::CUDALaunchBounds: |
||
5183 | return getDerived().TraverseCUDALaunchBoundsAttr(cast<CUDALaunchBoundsAttr>(A)); |
||
5184 | case attr::CUDAShared: |
||
5185 | return getDerived().TraverseCUDASharedAttr(cast<CUDASharedAttr>(A)); |
||
5186 | case attr::CXX11NoReturn: |
||
5187 | return getDerived().TraverseCXX11NoReturnAttr(cast<CXX11NoReturnAttr>(A)); |
||
5188 | case attr::CallableWhen: |
||
5189 | return getDerived().TraverseCallableWhenAttr(cast<CallableWhenAttr>(A)); |
||
5190 | case attr::Callback: |
||
5191 | return getDerived().TraverseCallbackAttr(cast<CallbackAttr>(A)); |
||
5192 | case attr::CalledOnce: |
||
5193 | return getDerived().TraverseCalledOnceAttr(cast<CalledOnceAttr>(A)); |
||
5194 | case attr::Capability: |
||
5195 | return getDerived().TraverseCapabilityAttr(cast<CapabilityAttr>(A)); |
||
5196 | case attr::CapturedRecord: |
||
5197 | return getDerived().TraverseCapturedRecordAttr(cast<CapturedRecordAttr>(A)); |
||
5198 | case attr::CarriesDependency: |
||
5199 | return getDerived().TraverseCarriesDependencyAttr(cast<CarriesDependencyAttr>(A)); |
||
5200 | case attr::Cleanup: |
||
5201 | return getDerived().TraverseCleanupAttr(cast<CleanupAttr>(A)); |
||
5202 | case attr::CmseNSCall: |
||
5203 | return getDerived().TraverseCmseNSCallAttr(cast<CmseNSCallAttr>(A)); |
||
5204 | case attr::CmseNSEntry: |
||
5205 | return getDerived().TraverseCmseNSEntryAttr(cast<CmseNSEntryAttr>(A)); |
||
5206 | case attr::CodeSeg: |
||
5207 | return getDerived().TraverseCodeSegAttr(cast<CodeSegAttr>(A)); |
||
5208 | case attr::Cold: |
||
5209 | return getDerived().TraverseColdAttr(cast<ColdAttr>(A)); |
||
5210 | case attr::Common: |
||
5211 | return getDerived().TraverseCommonAttr(cast<CommonAttr>(A)); |
||
5212 | case attr::Const: |
||
5213 | return getDerived().TraverseConstAttr(cast<ConstAttr>(A)); |
||
5214 | case attr::ConstInit: |
||
5215 | return getDerived().TraverseConstInitAttr(cast<ConstInitAttr>(A)); |
||
5216 | case attr::Constructor: |
||
5217 | return getDerived().TraverseConstructorAttr(cast<ConstructorAttr>(A)); |
||
5218 | case attr::Consumable: |
||
5219 | return getDerived().TraverseConsumableAttr(cast<ConsumableAttr>(A)); |
||
5220 | case attr::ConsumableAutoCast: |
||
5221 | return getDerived().TraverseConsumableAutoCastAttr(cast<ConsumableAutoCastAttr>(A)); |
||
5222 | case attr::ConsumableSetOnRead: |
||
5223 | return getDerived().TraverseConsumableSetOnReadAttr(cast<ConsumableSetOnReadAttr>(A)); |
||
5224 | case attr::Convergent: |
||
5225 | return getDerived().TraverseConvergentAttr(cast<ConvergentAttr>(A)); |
||
5226 | case attr::DLLExport: |
||
5227 | return getDerived().TraverseDLLExportAttr(cast<DLLExportAttr>(A)); |
||
5228 | case attr::DLLExportStaticLocal: |
||
5229 | return getDerived().TraverseDLLExportStaticLocalAttr(cast<DLLExportStaticLocalAttr>(A)); |
||
5230 | case attr::DLLImport: |
||
5231 | return getDerived().TraverseDLLImportAttr(cast<DLLImportAttr>(A)); |
||
5232 | case attr::DLLImportStaticLocal: |
||
5233 | return getDerived().TraverseDLLImportStaticLocalAttr(cast<DLLImportStaticLocalAttr>(A)); |
||
5234 | case attr::Deprecated: |
||
5235 | return getDerived().TraverseDeprecatedAttr(cast<DeprecatedAttr>(A)); |
||
5236 | case attr::Destructor: |
||
5237 | return getDerived().TraverseDestructorAttr(cast<DestructorAttr>(A)); |
||
5238 | case attr::DiagnoseAsBuiltin: |
||
5239 | return getDerived().TraverseDiagnoseAsBuiltinAttr(cast<DiagnoseAsBuiltinAttr>(A)); |
||
5240 | case attr::DiagnoseIf: |
||
5241 | return getDerived().TraverseDiagnoseIfAttr(cast<DiagnoseIfAttr>(A)); |
||
5242 | case attr::DisableSanitizerInstrumentation: |
||
5243 | return getDerived().TraverseDisableSanitizerInstrumentationAttr(cast<DisableSanitizerInstrumentationAttr>(A)); |
||
5244 | case attr::DisableTailCalls: |
||
5245 | return getDerived().TraverseDisableTailCallsAttr(cast<DisableTailCallsAttr>(A)); |
||
5246 | case attr::EmptyBases: |
||
5247 | return getDerived().TraverseEmptyBasesAttr(cast<EmptyBasesAttr>(A)); |
||
5248 | case attr::EnableIf: |
||
5249 | return getDerived().TraverseEnableIfAttr(cast<EnableIfAttr>(A)); |
||
5250 | case attr::EnforceTCB: |
||
5251 | return getDerived().TraverseEnforceTCBAttr(cast<EnforceTCBAttr>(A)); |
||
5252 | case attr::EnforceTCBLeaf: |
||
5253 | return getDerived().TraverseEnforceTCBLeafAttr(cast<EnforceTCBLeafAttr>(A)); |
||
5254 | case attr::EnumExtensibility: |
||
5255 | return getDerived().TraverseEnumExtensibilityAttr(cast<EnumExtensibilityAttr>(A)); |
||
5256 | case attr::Error: |
||
5257 | return getDerived().TraverseErrorAttr(cast<ErrorAttr>(A)); |
||
5258 | case attr::ExcludeFromExplicitInstantiation: |
||
5259 | return getDerived().TraverseExcludeFromExplicitInstantiationAttr(cast<ExcludeFromExplicitInstantiationAttr>(A)); |
||
5260 | case attr::ExclusiveTrylockFunction: |
||
5261 | return getDerived().TraverseExclusiveTrylockFunctionAttr(cast<ExclusiveTrylockFunctionAttr>(A)); |
||
5262 | case attr::ExternalSourceSymbol: |
||
5263 | return getDerived().TraverseExternalSourceSymbolAttr(cast<ExternalSourceSymbolAttr>(A)); |
||
5264 | case attr::FallThrough: |
||
5265 | return getDerived().TraverseFallThroughAttr(cast<FallThroughAttr>(A)); |
||
5266 | case attr::FastCall: |
||
5267 | return getDerived().TraverseFastCallAttr(cast<FastCallAttr>(A)); |
||
5268 | case attr::Final: |
||
5269 | return getDerived().TraverseFinalAttr(cast<FinalAttr>(A)); |
||
5270 | case attr::FlagEnum: |
||
5271 | return getDerived().TraverseFlagEnumAttr(cast<FlagEnumAttr>(A)); |
||
5272 | case attr::Flatten: |
||
5273 | return getDerived().TraverseFlattenAttr(cast<FlattenAttr>(A)); |
||
5274 | case attr::Format: |
||
5275 | return getDerived().TraverseFormatAttr(cast<FormatAttr>(A)); |
||
5276 | case attr::FormatArg: |
||
5277 | return getDerived().TraverseFormatArgAttr(cast<FormatArgAttr>(A)); |
||
5278 | case attr::FunctionReturnThunks: |
||
5279 | return getDerived().TraverseFunctionReturnThunksAttr(cast<FunctionReturnThunksAttr>(A)); |
||
5280 | case attr::GNUInline: |
||
5281 | return getDerived().TraverseGNUInlineAttr(cast<GNUInlineAttr>(A)); |
||
5282 | case attr::GuardedBy: |
||
5283 | return getDerived().TraverseGuardedByAttr(cast<GuardedByAttr>(A)); |
||
5284 | case attr::GuardedVar: |
||
5285 | return getDerived().TraverseGuardedVarAttr(cast<GuardedVarAttr>(A)); |
||
5286 | case attr::HIPManaged: |
||
5287 | return getDerived().TraverseHIPManagedAttr(cast<HIPManagedAttr>(A)); |
||
5288 | case attr::HLSLGroupSharedAddressSpace: |
||
5289 | return getDerived().TraverseHLSLGroupSharedAddressSpaceAttr(cast<HLSLGroupSharedAddressSpaceAttr>(A)); |
||
5290 | case attr::HLSLNumThreads: |
||
5291 | return getDerived().TraverseHLSLNumThreadsAttr(cast<HLSLNumThreadsAttr>(A)); |
||
5292 | case attr::HLSLResource: |
||
5293 | return getDerived().TraverseHLSLResourceAttr(cast<HLSLResourceAttr>(A)); |
||
5294 | case attr::HLSLResourceBinding: |
||
5295 | return getDerived().TraverseHLSLResourceBindingAttr(cast<HLSLResourceBindingAttr>(A)); |
||
5296 | case attr::HLSLSV_DispatchThreadID: |
||
5297 | return getDerived().TraverseHLSLSV_DispatchThreadIDAttr(cast<HLSLSV_DispatchThreadIDAttr>(A)); |
||
5298 | case attr::HLSLSV_GroupIndex: |
||
5299 | return getDerived().TraverseHLSLSV_GroupIndexAttr(cast<HLSLSV_GroupIndexAttr>(A)); |
||
5300 | case attr::HLSLShader: |
||
5301 | return getDerived().TraverseHLSLShaderAttr(cast<HLSLShaderAttr>(A)); |
||
5302 | case attr::Hot: |
||
5303 | return getDerived().TraverseHotAttr(cast<HotAttr>(A)); |
||
5304 | case attr::IBAction: |
||
5305 | return getDerived().TraverseIBActionAttr(cast<IBActionAttr>(A)); |
||
5306 | case attr::IBOutlet: |
||
5307 | return getDerived().TraverseIBOutletAttr(cast<IBOutletAttr>(A)); |
||
5308 | case attr::IBOutletCollection: |
||
5309 | return getDerived().TraverseIBOutletCollectionAttr(cast<IBOutletCollectionAttr>(A)); |
||
5310 | case attr::IFunc: |
||
5311 | return getDerived().TraverseIFuncAttr(cast<IFuncAttr>(A)); |
||
5312 | case attr::InitPriority: |
||
5313 | return getDerived().TraverseInitPriorityAttr(cast<InitPriorityAttr>(A)); |
||
5314 | case attr::InitSeg: |
||
5315 | return getDerived().TraverseInitSegAttr(cast<InitSegAttr>(A)); |
||
5316 | case attr::IntelOclBicc: |
||
5317 | return getDerived().TraverseIntelOclBiccAttr(cast<IntelOclBiccAttr>(A)); |
||
5318 | case attr::InternalLinkage: |
||
5319 | return getDerived().TraverseInternalLinkageAttr(cast<InternalLinkageAttr>(A)); |
||
5320 | case attr::LTOVisibilityPublic: |
||
5321 | return getDerived().TraverseLTOVisibilityPublicAttr(cast<LTOVisibilityPublicAttr>(A)); |
||
5322 | case attr::LayoutVersion: |
||
5323 | return getDerived().TraverseLayoutVersionAttr(cast<LayoutVersionAttr>(A)); |
||
5324 | case attr::Leaf: |
||
5325 | return getDerived().TraverseLeafAttr(cast<LeafAttr>(A)); |
||
5326 | case attr::LifetimeBound: |
||
5327 | return getDerived().TraverseLifetimeBoundAttr(cast<LifetimeBoundAttr>(A)); |
||
5328 | case attr::Likely: |
||
5329 | return getDerived().TraverseLikelyAttr(cast<LikelyAttr>(A)); |
||
5330 | case attr::LoaderUninitialized: |
||
5331 | return getDerived().TraverseLoaderUninitializedAttr(cast<LoaderUninitializedAttr>(A)); |
||
5332 | case attr::LockReturned: |
||
5333 | return getDerived().TraverseLockReturnedAttr(cast<LockReturnedAttr>(A)); |
||
5334 | case attr::LocksExcluded: |
||
5335 | return getDerived().TraverseLocksExcludedAttr(cast<LocksExcludedAttr>(A)); |
||
5336 | case attr::LoopHint: |
||
5337 | return getDerived().TraverseLoopHintAttr(cast<LoopHintAttr>(A)); |
||
5338 | case attr::M68kInterrupt: |
||
5339 | return getDerived().TraverseM68kInterruptAttr(cast<M68kInterruptAttr>(A)); |
||
5340 | case attr::MIGServerRoutine: |
||
5341 | return getDerived().TraverseMIGServerRoutineAttr(cast<MIGServerRoutineAttr>(A)); |
||
5342 | case attr::MSABI: |
||
5343 | return getDerived().TraverseMSABIAttr(cast<MSABIAttr>(A)); |
||
5344 | case attr::MSAllocator: |
||
5345 | return getDerived().TraverseMSAllocatorAttr(cast<MSAllocatorAttr>(A)); |
||
5346 | case attr::MSInheritance: |
||
5347 | return getDerived().TraverseMSInheritanceAttr(cast<MSInheritanceAttr>(A)); |
||
5348 | case attr::MSNoVTable: |
||
5349 | return getDerived().TraverseMSNoVTableAttr(cast<MSNoVTableAttr>(A)); |
||
5350 | case attr::MSP430Interrupt: |
||
5351 | return getDerived().TraverseMSP430InterruptAttr(cast<MSP430InterruptAttr>(A)); |
||
5352 | case attr::MSStruct: |
||
5353 | return getDerived().TraverseMSStructAttr(cast<MSStructAttr>(A)); |
||
5354 | case attr::MSVtorDisp: |
||
5355 | return getDerived().TraverseMSVtorDispAttr(cast<MSVtorDispAttr>(A)); |
||
5356 | case attr::MaxFieldAlignment: |
||
5357 | return getDerived().TraverseMaxFieldAlignmentAttr(cast<MaxFieldAlignmentAttr>(A)); |
||
5358 | case attr::MayAlias: |
||
5359 | return getDerived().TraverseMayAliasAttr(cast<MayAliasAttr>(A)); |
||
5360 | case attr::MaybeUndef: |
||
5361 | return getDerived().TraverseMaybeUndefAttr(cast<MaybeUndefAttr>(A)); |
||
5362 | case attr::MicroMips: |
||
5363 | return getDerived().TraverseMicroMipsAttr(cast<MicroMipsAttr>(A)); |
||
5364 | case attr::MinSize: |
||
5365 | return getDerived().TraverseMinSizeAttr(cast<MinSizeAttr>(A)); |
||
5366 | case attr::MinVectorWidth: |
||
5367 | return getDerived().TraverseMinVectorWidthAttr(cast<MinVectorWidthAttr>(A)); |
||
5368 | case attr::Mips16: |
||
5369 | return getDerived().TraverseMips16Attr(cast<Mips16Attr>(A)); |
||
5370 | case attr::MipsInterrupt: |
||
5371 | return getDerived().TraverseMipsInterruptAttr(cast<MipsInterruptAttr>(A)); |
||
5372 | case attr::MipsLongCall: |
||
5373 | return getDerived().TraverseMipsLongCallAttr(cast<MipsLongCallAttr>(A)); |
||
5374 | case attr::MipsShortCall: |
||
5375 | return getDerived().TraverseMipsShortCallAttr(cast<MipsShortCallAttr>(A)); |
||
5376 | case attr::Mode: |
||
5377 | return getDerived().TraverseModeAttr(cast<ModeAttr>(A)); |
||
5378 | case attr::MustTail: |
||
5379 | return getDerived().TraverseMustTailAttr(cast<MustTailAttr>(A)); |
||
5380 | case attr::NSConsumed: |
||
5381 | return getDerived().TraverseNSConsumedAttr(cast<NSConsumedAttr>(A)); |
||
5382 | case attr::NSConsumesSelf: |
||
5383 | return getDerived().TraverseNSConsumesSelfAttr(cast<NSConsumesSelfAttr>(A)); |
||
5384 | case attr::NSErrorDomain: |
||
5385 | return getDerived().TraverseNSErrorDomainAttr(cast<NSErrorDomainAttr>(A)); |
||
5386 | case attr::NSReturnsAutoreleased: |
||
5387 | return getDerived().TraverseNSReturnsAutoreleasedAttr(cast<NSReturnsAutoreleasedAttr>(A)); |
||
5388 | case attr::NSReturnsNotRetained: |
||
5389 | return getDerived().TraverseNSReturnsNotRetainedAttr(cast<NSReturnsNotRetainedAttr>(A)); |
||
5390 | case attr::NSReturnsRetained: |
||
5391 | return getDerived().TraverseNSReturnsRetainedAttr(cast<NSReturnsRetainedAttr>(A)); |
||
5392 | case attr::Naked: |
||
5393 | return getDerived().TraverseNakedAttr(cast<NakedAttr>(A)); |
||
5394 | case attr::NoAlias: |
||
5395 | return getDerived().TraverseNoAliasAttr(cast<NoAliasAttr>(A)); |
||
5396 | case attr::NoBuiltin: |
||
5397 | return getDerived().TraverseNoBuiltinAttr(cast<NoBuiltinAttr>(A)); |
||
5398 | case attr::NoCommon: |
||
5399 | return getDerived().TraverseNoCommonAttr(cast<NoCommonAttr>(A)); |
||
5400 | case attr::NoDebug: |
||
5401 | return getDerived().TraverseNoDebugAttr(cast<NoDebugAttr>(A)); |
||
5402 | case attr::NoDeref: |
||
5403 | return getDerived().TraverseNoDerefAttr(cast<NoDerefAttr>(A)); |
||
5404 | case attr::NoDestroy: |
||
5405 | return getDerived().TraverseNoDestroyAttr(cast<NoDestroyAttr>(A)); |
||
5406 | case attr::NoDuplicate: |
||
5407 | return getDerived().TraverseNoDuplicateAttr(cast<NoDuplicateAttr>(A)); |
||
5408 | case attr::NoEscape: |
||
5409 | return getDerived().TraverseNoEscapeAttr(cast<NoEscapeAttr>(A)); |
||
5410 | case attr::NoInline: |
||
5411 | return getDerived().TraverseNoInlineAttr(cast<NoInlineAttr>(A)); |
||
5412 | case attr::NoInstrumentFunction: |
||
5413 | return getDerived().TraverseNoInstrumentFunctionAttr(cast<NoInstrumentFunctionAttr>(A)); |
||
5414 | case attr::NoMerge: |
||
5415 | return getDerived().TraverseNoMergeAttr(cast<NoMergeAttr>(A)); |
||
5416 | case attr::NoMicroMips: |
||
5417 | return getDerived().TraverseNoMicroMipsAttr(cast<NoMicroMipsAttr>(A)); |
||
5418 | case attr::NoMips16: |
||
5419 | return getDerived().TraverseNoMips16Attr(cast<NoMips16Attr>(A)); |
||
5420 | case attr::NoProfileFunction: |
||
5421 | return getDerived().TraverseNoProfileFunctionAttr(cast<NoProfileFunctionAttr>(A)); |
||
5422 | case attr::NoRandomizeLayout: |
||
5423 | return getDerived().TraverseNoRandomizeLayoutAttr(cast<NoRandomizeLayoutAttr>(A)); |
||
5424 | case attr::NoReturn: |
||
5425 | return getDerived().TraverseNoReturnAttr(cast<NoReturnAttr>(A)); |
||
5426 | case attr::NoSanitize: |
||
5427 | return getDerived().TraverseNoSanitizeAttr(cast<NoSanitizeAttr>(A)); |
||
5428 | case attr::NoSpeculativeLoadHardening: |
||
5429 | return getDerived().TraverseNoSpeculativeLoadHardeningAttr(cast<NoSpeculativeLoadHardeningAttr>(A)); |
||
5430 | case attr::NoSplitStack: |
||
5431 | return getDerived().TraverseNoSplitStackAttr(cast<NoSplitStackAttr>(A)); |
||
5432 | case attr::NoStackProtector: |
||
5433 | return getDerived().TraverseNoStackProtectorAttr(cast<NoStackProtectorAttr>(A)); |
||
5434 | case attr::NoThreadSafetyAnalysis: |
||
5435 | return getDerived().TraverseNoThreadSafetyAnalysisAttr(cast<NoThreadSafetyAnalysisAttr>(A)); |
||
5436 | case attr::NoThrow: |
||
5437 | return getDerived().TraverseNoThrowAttr(cast<NoThrowAttr>(A)); |
||
5438 | case attr::NoUniqueAddress: |
||
5439 | return getDerived().TraverseNoUniqueAddressAttr(cast<NoUniqueAddressAttr>(A)); |
||
5440 | case attr::NoUwtable: |
||
5441 | return getDerived().TraverseNoUwtableAttr(cast<NoUwtableAttr>(A)); |
||
5442 | case attr::NonNull: |
||
5443 | return getDerived().TraverseNonNullAttr(cast<NonNullAttr>(A)); |
||
5444 | case attr::NotTailCalled: |
||
5445 | return getDerived().TraverseNotTailCalledAttr(cast<NotTailCalledAttr>(A)); |
||
5446 | case attr::OMPAllocateDecl: |
||
5447 | return getDerived().TraverseOMPAllocateDeclAttr(cast<OMPAllocateDeclAttr>(A)); |
||
5448 | case attr::OMPCaptureKind: |
||
5449 | return getDerived().TraverseOMPCaptureKindAttr(cast<OMPCaptureKindAttr>(A)); |
||
5450 | case attr::OMPCaptureNoInit: |
||
5451 | return getDerived().TraverseOMPCaptureNoInitAttr(cast<OMPCaptureNoInitAttr>(A)); |
||
5452 | case attr::OMPDeclareSimdDecl: |
||
5453 | return getDerived().TraverseOMPDeclareSimdDeclAttr(cast<OMPDeclareSimdDeclAttr>(A)); |
||
5454 | case attr::OMPDeclareTargetDecl: |
||
5455 | return getDerived().TraverseOMPDeclareTargetDeclAttr(cast<OMPDeclareTargetDeclAttr>(A)); |
||
5456 | case attr::OMPDeclareVariant: |
||
5457 | return getDerived().TraverseOMPDeclareVariantAttr(cast<OMPDeclareVariantAttr>(A)); |
||
5458 | case attr::OMPReferencedVar: |
||
5459 | return getDerived().TraverseOMPReferencedVarAttr(cast<OMPReferencedVarAttr>(A)); |
||
5460 | case attr::OMPThreadPrivateDecl: |
||
5461 | return getDerived().TraverseOMPThreadPrivateDeclAttr(cast<OMPThreadPrivateDeclAttr>(A)); |
||
5462 | case attr::OSConsumed: |
||
5463 | return getDerived().TraverseOSConsumedAttr(cast<OSConsumedAttr>(A)); |
||
5464 | case attr::OSConsumesThis: |
||
5465 | return getDerived().TraverseOSConsumesThisAttr(cast<OSConsumesThisAttr>(A)); |
||
5466 | case attr::OSReturnsNotRetained: |
||
5467 | return getDerived().TraverseOSReturnsNotRetainedAttr(cast<OSReturnsNotRetainedAttr>(A)); |
||
5468 | case attr::OSReturnsRetained: |
||
5469 | return getDerived().TraverseOSReturnsRetainedAttr(cast<OSReturnsRetainedAttr>(A)); |
||
5470 | case attr::OSReturnsRetainedOnNonZero: |
||
5471 | return getDerived().TraverseOSReturnsRetainedOnNonZeroAttr(cast<OSReturnsRetainedOnNonZeroAttr>(A)); |
||
5472 | case attr::OSReturnsRetainedOnZero: |
||
5473 | return getDerived().TraverseOSReturnsRetainedOnZeroAttr(cast<OSReturnsRetainedOnZeroAttr>(A)); |
||
5474 | case attr::ObjCBoxable: |
||
5475 | return getDerived().TraverseObjCBoxableAttr(cast<ObjCBoxableAttr>(A)); |
||
5476 | case attr::ObjCBridge: |
||
5477 | return getDerived().TraverseObjCBridgeAttr(cast<ObjCBridgeAttr>(A)); |
||
5478 | case attr::ObjCBridgeMutable: |
||
5479 | return getDerived().TraverseObjCBridgeMutableAttr(cast<ObjCBridgeMutableAttr>(A)); |
||
5480 | case attr::ObjCBridgeRelated: |
||
5481 | return getDerived().TraverseObjCBridgeRelatedAttr(cast<ObjCBridgeRelatedAttr>(A)); |
||
5482 | case attr::ObjCClassStub: |
||
5483 | return getDerived().TraverseObjCClassStubAttr(cast<ObjCClassStubAttr>(A)); |
||
5484 | case attr::ObjCDesignatedInitializer: |
||
5485 | return getDerived().TraverseObjCDesignatedInitializerAttr(cast<ObjCDesignatedInitializerAttr>(A)); |
||
5486 | case attr::ObjCDirect: |
||
5487 | return getDerived().TraverseObjCDirectAttr(cast<ObjCDirectAttr>(A)); |
||
5488 | case attr::ObjCDirectMembers: |
||
5489 | return getDerived().TraverseObjCDirectMembersAttr(cast<ObjCDirectMembersAttr>(A)); |
||
5490 | case attr::ObjCException: |
||
5491 | return getDerived().TraverseObjCExceptionAttr(cast<ObjCExceptionAttr>(A)); |
||
5492 | case attr::ObjCExplicitProtocolImpl: |
||
5493 | return getDerived().TraverseObjCExplicitProtocolImplAttr(cast<ObjCExplicitProtocolImplAttr>(A)); |
||
5494 | case attr::ObjCExternallyRetained: |
||
5495 | return getDerived().TraverseObjCExternallyRetainedAttr(cast<ObjCExternallyRetainedAttr>(A)); |
||
5496 | case attr::ObjCGC: |
||
5497 | return getDerived().TraverseObjCGCAttr(cast<ObjCGCAttr>(A)); |
||
5498 | case attr::ObjCIndependentClass: |
||
5499 | return getDerived().TraverseObjCIndependentClassAttr(cast<ObjCIndependentClassAttr>(A)); |
||
5500 | case attr::ObjCInertUnsafeUnretained: |
||
5501 | return getDerived().TraverseObjCInertUnsafeUnretainedAttr(cast<ObjCInertUnsafeUnretainedAttr>(A)); |
||
5502 | case attr::ObjCKindOf: |
||
5503 | return getDerived().TraverseObjCKindOfAttr(cast<ObjCKindOfAttr>(A)); |
||
5504 | case attr::ObjCMethodFamily: |
||
5505 | return getDerived().TraverseObjCMethodFamilyAttr(cast<ObjCMethodFamilyAttr>(A)); |
||
5506 | case attr::ObjCNSObject: |
||
5507 | return getDerived().TraverseObjCNSObjectAttr(cast<ObjCNSObjectAttr>(A)); |
||
5508 | case attr::ObjCNonLazyClass: |
||
5509 | return getDerived().TraverseObjCNonLazyClassAttr(cast<ObjCNonLazyClassAttr>(A)); |
||
5510 | case attr::ObjCNonRuntimeProtocol: |
||
5511 | return getDerived().TraverseObjCNonRuntimeProtocolAttr(cast<ObjCNonRuntimeProtocolAttr>(A)); |
||
5512 | case attr::ObjCOwnership: |
||
5513 | return getDerived().TraverseObjCOwnershipAttr(cast<ObjCOwnershipAttr>(A)); |
||
5514 | case attr::ObjCPreciseLifetime: |
||
5515 | return getDerived().TraverseObjCPreciseLifetimeAttr(cast<ObjCPreciseLifetimeAttr>(A)); |
||
5516 | case attr::ObjCRequiresPropertyDefs: |
||
5517 | return getDerived().TraverseObjCRequiresPropertyDefsAttr(cast<ObjCRequiresPropertyDefsAttr>(A)); |
||
5518 | case attr::ObjCRequiresSuper: |
||
5519 | return getDerived().TraverseObjCRequiresSuperAttr(cast<ObjCRequiresSuperAttr>(A)); |
||
5520 | case attr::ObjCReturnsInnerPointer: |
||
5521 | return getDerived().TraverseObjCReturnsInnerPointerAttr(cast<ObjCReturnsInnerPointerAttr>(A)); |
||
5522 | case attr::ObjCRootClass: |
||
5523 | return getDerived().TraverseObjCRootClassAttr(cast<ObjCRootClassAttr>(A)); |
||
5524 | case attr::ObjCRuntimeName: |
||
5525 | return getDerived().TraverseObjCRuntimeNameAttr(cast<ObjCRuntimeNameAttr>(A)); |
||
5526 | case attr::ObjCRuntimeVisible: |
||
5527 | return getDerived().TraverseObjCRuntimeVisibleAttr(cast<ObjCRuntimeVisibleAttr>(A)); |
||
5528 | case attr::ObjCSubclassingRestricted: |
||
5529 | return getDerived().TraverseObjCSubclassingRestrictedAttr(cast<ObjCSubclassingRestrictedAttr>(A)); |
||
5530 | case attr::OpenCLAccess: |
||
5531 | return getDerived().TraverseOpenCLAccessAttr(cast<OpenCLAccessAttr>(A)); |
||
5532 | case attr::OpenCLConstantAddressSpace: |
||
5533 | return getDerived().TraverseOpenCLConstantAddressSpaceAttr(cast<OpenCLConstantAddressSpaceAttr>(A)); |
||
5534 | case attr::OpenCLGenericAddressSpace: |
||
5535 | return getDerived().TraverseOpenCLGenericAddressSpaceAttr(cast<OpenCLGenericAddressSpaceAttr>(A)); |
||
5536 | case attr::OpenCLGlobalAddressSpace: |
||
5537 | return getDerived().TraverseOpenCLGlobalAddressSpaceAttr(cast<OpenCLGlobalAddressSpaceAttr>(A)); |
||
5538 | case attr::OpenCLGlobalDeviceAddressSpace: |
||
5539 | return getDerived().TraverseOpenCLGlobalDeviceAddressSpaceAttr(cast<OpenCLGlobalDeviceAddressSpaceAttr>(A)); |
||
5540 | case attr::OpenCLGlobalHostAddressSpace: |
||
5541 | return getDerived().TraverseOpenCLGlobalHostAddressSpaceAttr(cast<OpenCLGlobalHostAddressSpaceAttr>(A)); |
||
5542 | case attr::OpenCLIntelReqdSubGroupSize: |
||
5543 | return getDerived().TraverseOpenCLIntelReqdSubGroupSizeAttr(cast<OpenCLIntelReqdSubGroupSizeAttr>(A)); |
||
5544 | case attr::OpenCLKernel: |
||
5545 | return getDerived().TraverseOpenCLKernelAttr(cast<OpenCLKernelAttr>(A)); |
||
5546 | case attr::OpenCLLocalAddressSpace: |
||
5547 | return getDerived().TraverseOpenCLLocalAddressSpaceAttr(cast<OpenCLLocalAddressSpaceAttr>(A)); |
||
5548 | case attr::OpenCLPrivateAddressSpace: |
||
5549 | return getDerived().TraverseOpenCLPrivateAddressSpaceAttr(cast<OpenCLPrivateAddressSpaceAttr>(A)); |
||
5550 | case attr::OpenCLUnrollHint: |
||
5551 | return getDerived().TraverseOpenCLUnrollHintAttr(cast<OpenCLUnrollHintAttr>(A)); |
||
5552 | case attr::OptimizeNone: |
||
5553 | return getDerived().TraverseOptimizeNoneAttr(cast<OptimizeNoneAttr>(A)); |
||
5554 | case attr::Overloadable: |
||
5555 | return getDerived().TraverseOverloadableAttr(cast<OverloadableAttr>(A)); |
||
5556 | case attr::Override: |
||
5557 | return getDerived().TraverseOverrideAttr(cast<OverrideAttr>(A)); |
||
5558 | case attr::Owner: |
||
5559 | return getDerived().TraverseOwnerAttr(cast<OwnerAttr>(A)); |
||
5560 | case attr::Ownership: |
||
5561 | return getDerived().TraverseOwnershipAttr(cast<OwnershipAttr>(A)); |
||
5562 | case attr::Packed: |
||
5563 | return getDerived().TraversePackedAttr(cast<PackedAttr>(A)); |
||
5564 | case attr::ParamTypestate: |
||
5565 | return getDerived().TraverseParamTypestateAttr(cast<ParamTypestateAttr>(A)); |
||
5566 | case attr::Pascal: |
||
5567 | return getDerived().TraversePascalAttr(cast<PascalAttr>(A)); |
||
5568 | case attr::PassObjectSize: |
||
5569 | return getDerived().TraversePassObjectSizeAttr(cast<PassObjectSizeAttr>(A)); |
||
5570 | case attr::PatchableFunctionEntry: |
||
5571 | return getDerived().TraversePatchableFunctionEntryAttr(cast<PatchableFunctionEntryAttr>(A)); |
||
5572 | case attr::Pcs: |
||
5573 | return getDerived().TraversePcsAttr(cast<PcsAttr>(A)); |
||
5574 | case attr::Pointer: |
||
5575 | return getDerived().TraversePointerAttr(cast<PointerAttr>(A)); |
||
5576 | case attr::PragmaClangBSSSection: |
||
5577 | return getDerived().TraversePragmaClangBSSSectionAttr(cast<PragmaClangBSSSectionAttr>(A)); |
||
5578 | case attr::PragmaClangDataSection: |
||
5579 | return getDerived().TraversePragmaClangDataSectionAttr(cast<PragmaClangDataSectionAttr>(A)); |
||
5580 | case attr::PragmaClangRelroSection: |
||
5581 | return getDerived().TraversePragmaClangRelroSectionAttr(cast<PragmaClangRelroSectionAttr>(A)); |
||
5582 | case attr::PragmaClangRodataSection: |
||
5583 | return getDerived().TraversePragmaClangRodataSectionAttr(cast<PragmaClangRodataSectionAttr>(A)); |
||
5584 | case attr::PragmaClangTextSection: |
||
5585 | return getDerived().TraversePragmaClangTextSectionAttr(cast<PragmaClangTextSectionAttr>(A)); |
||
5586 | case attr::PreferredName: |
||
5587 | return getDerived().TraversePreferredNameAttr(cast<PreferredNameAttr>(A)); |
||
5588 | case attr::PreserveAll: |
||
5589 | return getDerived().TraversePreserveAllAttr(cast<PreserveAllAttr>(A)); |
||
5590 | case attr::PreserveMost: |
||
5591 | return getDerived().TraversePreserveMostAttr(cast<PreserveMostAttr>(A)); |
||
5592 | case attr::PtGuardedBy: |
||
5593 | return getDerived().TraversePtGuardedByAttr(cast<PtGuardedByAttr>(A)); |
||
5594 | case attr::PtGuardedVar: |
||
5595 | return getDerived().TraversePtGuardedVarAttr(cast<PtGuardedVarAttr>(A)); |
||
5596 | case attr::Ptr32: |
||
5597 | return getDerived().TraversePtr32Attr(cast<Ptr32Attr>(A)); |
||
5598 | case attr::Ptr64: |
||
5599 | return getDerived().TraversePtr64Attr(cast<Ptr64Attr>(A)); |
||
5600 | case attr::Pure: |
||
5601 | return getDerived().TraversePureAttr(cast<PureAttr>(A)); |
||
5602 | case attr::RISCVInterrupt: |
||
5603 | return getDerived().TraverseRISCVInterruptAttr(cast<RISCVInterruptAttr>(A)); |
||
5604 | case attr::RandomizeLayout: |
||
5605 | return getDerived().TraverseRandomizeLayoutAttr(cast<RandomizeLayoutAttr>(A)); |
||
5606 | case attr::ReadOnlyPlacement: |
||
5607 | return getDerived().TraverseReadOnlyPlacementAttr(cast<ReadOnlyPlacementAttr>(A)); |
||
5608 | case attr::RegCall: |
||
5609 | return getDerived().TraverseRegCallAttr(cast<RegCallAttr>(A)); |
||
5610 | case attr::Reinitializes: |
||
5611 | return getDerived().TraverseReinitializesAttr(cast<ReinitializesAttr>(A)); |
||
5612 | case attr::ReleaseCapability: |
||
5613 | return getDerived().TraverseReleaseCapabilityAttr(cast<ReleaseCapabilityAttr>(A)); |
||
5614 | case attr::ReleaseHandle: |
||
5615 | return getDerived().TraverseReleaseHandleAttr(cast<ReleaseHandleAttr>(A)); |
||
5616 | case attr::RenderScriptKernel: |
||
5617 | return getDerived().TraverseRenderScriptKernelAttr(cast<RenderScriptKernelAttr>(A)); |
||
5618 | case attr::ReqdWorkGroupSize: |
||
5619 | return getDerived().TraverseReqdWorkGroupSizeAttr(cast<ReqdWorkGroupSizeAttr>(A)); |
||
5620 | case attr::RequiresCapability: |
||
5621 | return getDerived().TraverseRequiresCapabilityAttr(cast<RequiresCapabilityAttr>(A)); |
||
5622 | case attr::Restrict: |
||
5623 | return getDerived().TraverseRestrictAttr(cast<RestrictAttr>(A)); |
||
5624 | case attr::Retain: |
||
5625 | return getDerived().TraverseRetainAttr(cast<RetainAttr>(A)); |
||
5626 | case attr::ReturnTypestate: |
||
5627 | return getDerived().TraverseReturnTypestateAttr(cast<ReturnTypestateAttr>(A)); |
||
5628 | case attr::ReturnsNonNull: |
||
5629 | return getDerived().TraverseReturnsNonNullAttr(cast<ReturnsNonNullAttr>(A)); |
||
5630 | case attr::ReturnsTwice: |
||
5631 | return getDerived().TraverseReturnsTwiceAttr(cast<ReturnsTwiceAttr>(A)); |
||
5632 | case attr::SPtr: |
||
5633 | return getDerived().TraverseSPtrAttr(cast<SPtrAttr>(A)); |
||
5634 | case attr::SYCLKernel: |
||
5635 | return getDerived().TraverseSYCLKernelAttr(cast<SYCLKernelAttr>(A)); |
||
5636 | case attr::SYCLSpecialClass: |
||
5637 | return getDerived().TraverseSYCLSpecialClassAttr(cast<SYCLSpecialClassAttr>(A)); |
||
5638 | case attr::ScopedLockable: |
||
5639 | return getDerived().TraverseScopedLockableAttr(cast<ScopedLockableAttr>(A)); |
||
5640 | case attr::Section: |
||
5641 | return getDerived().TraverseSectionAttr(cast<SectionAttr>(A)); |
||
5642 | case attr::SelectAny: |
||
5643 | return getDerived().TraverseSelectAnyAttr(cast<SelectAnyAttr>(A)); |
||
5644 | case attr::Sentinel: |
||
5645 | return getDerived().TraverseSentinelAttr(cast<SentinelAttr>(A)); |
||
5646 | case attr::SetTypestate: |
||
5647 | return getDerived().TraverseSetTypestateAttr(cast<SetTypestateAttr>(A)); |
||
5648 | case attr::SharedTrylockFunction: |
||
5649 | return getDerived().TraverseSharedTrylockFunctionAttr(cast<SharedTrylockFunctionAttr>(A)); |
||
5650 | case attr::SpeculativeLoadHardening: |
||
5651 | return getDerived().TraverseSpeculativeLoadHardeningAttr(cast<SpeculativeLoadHardeningAttr>(A)); |
||
5652 | case attr::StandaloneDebug: |
||
5653 | return getDerived().TraverseStandaloneDebugAttr(cast<StandaloneDebugAttr>(A)); |
||
5654 | case attr::StdCall: |
||
5655 | return getDerived().TraverseStdCallAttr(cast<StdCallAttr>(A)); |
||
5656 | case attr::StrictFP: |
||
5657 | return getDerived().TraverseStrictFPAttr(cast<StrictFPAttr>(A)); |
||
5658 | case attr::StrictGuardStackCheck: |
||
5659 | return getDerived().TraverseStrictGuardStackCheckAttr(cast<StrictGuardStackCheckAttr>(A)); |
||
5660 | case attr::Suppress: |
||
5661 | return getDerived().TraverseSuppressAttr(cast<SuppressAttr>(A)); |
||
5662 | case attr::SwiftAsync: |
||
5663 | return getDerived().TraverseSwiftAsyncAttr(cast<SwiftAsyncAttr>(A)); |
||
5664 | case attr::SwiftAsyncCall: |
||
5665 | return getDerived().TraverseSwiftAsyncCallAttr(cast<SwiftAsyncCallAttr>(A)); |
||
5666 | case attr::SwiftAsyncContext: |
||
5667 | return getDerived().TraverseSwiftAsyncContextAttr(cast<SwiftAsyncContextAttr>(A)); |
||
5668 | case attr::SwiftAsyncError: |
||
5669 | return getDerived().TraverseSwiftAsyncErrorAttr(cast<SwiftAsyncErrorAttr>(A)); |
||
5670 | case attr::SwiftAsyncName: |
||
5671 | return getDerived().TraverseSwiftAsyncNameAttr(cast<SwiftAsyncNameAttr>(A)); |
||
5672 | case attr::SwiftAttr: |
||
5673 | return getDerived().TraverseSwiftAttrAttr(cast<SwiftAttrAttr>(A)); |
||
5674 | case attr::SwiftBridge: |
||
5675 | return getDerived().TraverseSwiftBridgeAttr(cast<SwiftBridgeAttr>(A)); |
||
5676 | case attr::SwiftBridgedTypedef: |
||
5677 | return getDerived().TraverseSwiftBridgedTypedefAttr(cast<SwiftBridgedTypedefAttr>(A)); |
||
5678 | case attr::SwiftCall: |
||
5679 | return getDerived().TraverseSwiftCallAttr(cast<SwiftCallAttr>(A)); |
||
5680 | case attr::SwiftContext: |
||
5681 | return getDerived().TraverseSwiftContextAttr(cast<SwiftContextAttr>(A)); |
||
5682 | case attr::SwiftError: |
||
5683 | return getDerived().TraverseSwiftErrorAttr(cast<SwiftErrorAttr>(A)); |
||
5684 | case attr::SwiftErrorResult: |
||
5685 | return getDerived().TraverseSwiftErrorResultAttr(cast<SwiftErrorResultAttr>(A)); |
||
5686 | case attr::SwiftIndirectResult: |
||
5687 | return getDerived().TraverseSwiftIndirectResultAttr(cast<SwiftIndirectResultAttr>(A)); |
||
5688 | case attr::SwiftName: |
||
5689 | return getDerived().TraverseSwiftNameAttr(cast<SwiftNameAttr>(A)); |
||
5690 | case attr::SwiftNewType: |
||
5691 | return getDerived().TraverseSwiftNewTypeAttr(cast<SwiftNewTypeAttr>(A)); |
||
5692 | case attr::SwiftObjCMembers: |
||
5693 | return getDerived().TraverseSwiftObjCMembersAttr(cast<SwiftObjCMembersAttr>(A)); |
||
5694 | case attr::SwiftPrivate: |
||
5695 | return getDerived().TraverseSwiftPrivateAttr(cast<SwiftPrivateAttr>(A)); |
||
5696 | case attr::SysVABI: |
||
5697 | return getDerived().TraverseSysVABIAttr(cast<SysVABIAttr>(A)); |
||
5698 | case attr::TLSModel: |
||
5699 | return getDerived().TraverseTLSModelAttr(cast<TLSModelAttr>(A)); |
||
5700 | case attr::Target: |
||
5701 | return getDerived().TraverseTargetAttr(cast<TargetAttr>(A)); |
||
5702 | case attr::TargetClones: |
||
5703 | return getDerived().TraverseTargetClonesAttr(cast<TargetClonesAttr>(A)); |
||
5704 | case attr::TargetVersion: |
||
5705 | return getDerived().TraverseTargetVersionAttr(cast<TargetVersionAttr>(A)); |
||
5706 | case attr::TestTypestate: |
||
5707 | return getDerived().TraverseTestTypestateAttr(cast<TestTypestateAttr>(A)); |
||
5708 | case attr::ThisCall: |
||
5709 | return getDerived().TraverseThisCallAttr(cast<ThisCallAttr>(A)); |
||
5710 | case attr::Thread: |
||
5711 | return getDerived().TraverseThreadAttr(cast<ThreadAttr>(A)); |
||
5712 | case attr::TransparentUnion: |
||
5713 | return getDerived().TraverseTransparentUnionAttr(cast<TransparentUnionAttr>(A)); |
||
5714 | case attr::TrivialABI: |
||
5715 | return getDerived().TraverseTrivialABIAttr(cast<TrivialABIAttr>(A)); |
||
5716 | case attr::TryAcquireCapability: |
||
5717 | return getDerived().TraverseTryAcquireCapabilityAttr(cast<TryAcquireCapabilityAttr>(A)); |
||
5718 | case attr::TypeNonNull: |
||
5719 | return getDerived().TraverseTypeNonNullAttr(cast<TypeNonNullAttr>(A)); |
||
5720 | case attr::TypeNullUnspecified: |
||
5721 | return getDerived().TraverseTypeNullUnspecifiedAttr(cast<TypeNullUnspecifiedAttr>(A)); |
||
5722 | case attr::TypeNullable: |
||
5723 | return getDerived().TraverseTypeNullableAttr(cast<TypeNullableAttr>(A)); |
||
5724 | case attr::TypeNullableResult: |
||
5725 | return getDerived().TraverseTypeNullableResultAttr(cast<TypeNullableResultAttr>(A)); |
||
5726 | case attr::TypeTagForDatatype: |
||
5727 | return getDerived().TraverseTypeTagForDatatypeAttr(cast<TypeTagForDatatypeAttr>(A)); |
||
5728 | case attr::TypeVisibility: |
||
5729 | return getDerived().TraverseTypeVisibilityAttr(cast<TypeVisibilityAttr>(A)); |
||
5730 | case attr::UPtr: |
||
5731 | return getDerived().TraverseUPtrAttr(cast<UPtrAttr>(A)); |
||
5732 | case attr::Unavailable: |
||
5733 | return getDerived().TraverseUnavailableAttr(cast<UnavailableAttr>(A)); |
||
5734 | case attr::Uninitialized: |
||
5735 | return getDerived().TraverseUninitializedAttr(cast<UninitializedAttr>(A)); |
||
5736 | case attr::Unlikely: |
||
5737 | return getDerived().TraverseUnlikelyAttr(cast<UnlikelyAttr>(A)); |
||
5738 | case attr::Unused: |
||
5739 | return getDerived().TraverseUnusedAttr(cast<UnusedAttr>(A)); |
||
5740 | case attr::UseHandle: |
||
5741 | return getDerived().TraverseUseHandleAttr(cast<UseHandleAttr>(A)); |
||
5742 | case attr::Used: |
||
5743 | return getDerived().TraverseUsedAttr(cast<UsedAttr>(A)); |
||
5744 | case attr::UsingIfExists: |
||
5745 | return getDerived().TraverseUsingIfExistsAttr(cast<UsingIfExistsAttr>(A)); |
||
5746 | case attr::Uuid: |
||
5747 | return getDerived().TraverseUuidAttr(cast<UuidAttr>(A)); |
||
5748 | case attr::VecReturn: |
||
5749 | return getDerived().TraverseVecReturnAttr(cast<VecReturnAttr>(A)); |
||
5750 | case attr::VecTypeHint: |
||
5751 | return getDerived().TraverseVecTypeHintAttr(cast<VecTypeHintAttr>(A)); |
||
5752 | case attr::VectorCall: |
||
5753 | return getDerived().TraverseVectorCallAttr(cast<VectorCallAttr>(A)); |
||
5754 | case attr::Visibility: |
||
5755 | return getDerived().TraverseVisibilityAttr(cast<VisibilityAttr>(A)); |
||
5756 | case attr::WarnUnused: |
||
5757 | return getDerived().TraverseWarnUnusedAttr(cast<WarnUnusedAttr>(A)); |
||
5758 | case attr::WarnUnusedResult: |
||
5759 | return getDerived().TraverseWarnUnusedResultAttr(cast<WarnUnusedResultAttr>(A)); |
||
5760 | case attr::Weak: |
||
5761 | return getDerived().TraverseWeakAttr(cast<WeakAttr>(A)); |
||
5762 | case attr::WeakImport: |
||
5763 | return getDerived().TraverseWeakImportAttr(cast<WeakImportAttr>(A)); |
||
5764 | case attr::WeakRef: |
||
5765 | return getDerived().TraverseWeakRefAttr(cast<WeakRefAttr>(A)); |
||
5766 | case attr::WebAssemblyExportName: |
||
5767 | return getDerived().TraverseWebAssemblyExportNameAttr(cast<WebAssemblyExportNameAttr>(A)); |
||
5768 | case attr::WebAssemblyImportModule: |
||
5769 | return getDerived().TraverseWebAssemblyImportModuleAttr(cast<WebAssemblyImportModuleAttr>(A)); |
||
5770 | case attr::WebAssemblyImportName: |
||
5771 | return getDerived().TraverseWebAssemblyImportNameAttr(cast<WebAssemblyImportNameAttr>(A)); |
||
5772 | case attr::WorkGroupSizeHint: |
||
5773 | return getDerived().TraverseWorkGroupSizeHintAttr(cast<WorkGroupSizeHintAttr>(A)); |
||
5774 | case attr::X86ForceAlignArgPointer: |
||
5775 | return getDerived().TraverseX86ForceAlignArgPointerAttr(cast<X86ForceAlignArgPointerAttr>(A)); |
||
5776 | case attr::XRayInstrument: |
||
5777 | return getDerived().TraverseXRayInstrumentAttr(cast<XRayInstrumentAttr>(A)); |
||
5778 | case attr::XRayLogArgs: |
||
5779 | return getDerived().TraverseXRayLogArgsAttr(cast<XRayLogArgsAttr>(A)); |
||
5780 | case attr::ZeroCallUsedRegs: |
||
5781 | return getDerived().TraverseZeroCallUsedRegsAttr(cast<ZeroCallUsedRegsAttr>(A)); |
||
5782 | } |
||
5783 | llvm_unreachable("bad attribute kind"); |
||
5784 | } |
||
5785 | #endif // ATTR_VISITOR_DECLS_ONLY |