1 /**
2 Copyright: Copyright (c) 2016, Joakim Brännström. All rights reserved.
3 License: MPL-2
4 Author: Joakim Brännström (joakim.brannstrom@gmx.com)
5 
6 This Source Code Form is subject to the terms of the Mozilla Public License,
7 v.2.0. If a copy of the MPL was not distributed with this file, You can obtain
8 one at http://mozilla.org/MPL/2.0/.
9 
10 DO NOT EDIT. THIS FILE IS GENERATED.
11 See the generator script source/devtool/generator_clang_ast_nodes.d
12 */
13 module libclang_ast.ast.attribute;
14 import libclang_ast.ast.node : Node;
15 
16 abstract class Attribute : Node {
17     import clang.Cursor : Cursor;
18     import libclang_ast.ast : Visitor;
19 
20     Cursor cursor;
21     alias cursor this;
22 
23     this(Cursor cursor) @safe {
24         this.cursor = cursor;
25     }
26 
27     override void accept(Visitor v) @safe const {
28         static import libclang_ast.ast;
29 
30         libclang_ast.ast.accept(cursor, v);
31     }
32 }
33 
34 final class UnexposedAttr : Attribute {
35     import clang.Cursor : Cursor;
36 
37     this(Cursor cursor) @safe {
38         super(cursor);
39     }
40 
41     override void accept(Visitor v) @safe const {
42         static import libclang_ast.ast;
43 
44         libclang_ast.ast.accept(cursor, v);
45     }
46 }
47 
48 final class IbActionAttr : Attribute {
49     import clang.Cursor : Cursor;
50 
51     this(Cursor cursor) @safe {
52         super(cursor);
53     }
54 
55     override void accept(Visitor v) @safe const {
56         static import libclang_ast.ast;
57 
58         libclang_ast.ast.accept(cursor, v);
59     }
60 }
61 
62 final class IbOutletAttr : Attribute {
63     import clang.Cursor : Cursor;
64 
65     this(Cursor cursor) @safe {
66         super(cursor);
67     }
68 
69     override void accept(Visitor v) @safe const {
70         static import libclang_ast.ast;
71 
72         libclang_ast.ast.accept(cursor, v);
73     }
74 }
75 
76 final class IbOutletCollectionAttr : Attribute {
77     import clang.Cursor : Cursor;
78 
79     this(Cursor cursor) @safe {
80         super(cursor);
81     }
82 
83     override void accept(Visitor v) @safe const {
84         static import libclang_ast.ast;
85 
86         libclang_ast.ast.accept(cursor, v);
87     }
88 }
89 
90 final class CxxFinalAttr : Attribute {
91     import clang.Cursor : Cursor;
92 
93     this(Cursor cursor) @safe {
94         super(cursor);
95     }
96 
97     override void accept(Visitor v) @safe const {
98         static import libclang_ast.ast;
99 
100         libclang_ast.ast.accept(cursor, v);
101     }
102 }
103 
104 final class CxxOverrideAttr : Attribute {
105     import clang.Cursor : Cursor;
106 
107     this(Cursor cursor) @safe {
108         super(cursor);
109     }
110 
111     override void accept(Visitor v) @safe const {
112         static import libclang_ast.ast;
113 
114         libclang_ast.ast.accept(cursor, v);
115     }
116 }
117 
118 final class AnnotateAttr : Attribute {
119     import clang.Cursor : Cursor;
120 
121     this(Cursor cursor) @safe {
122         super(cursor);
123     }
124 
125     override void accept(Visitor v) @safe const {
126         static import libclang_ast.ast;
127 
128         libclang_ast.ast.accept(cursor, v);
129     }
130 }
131 
132 final class AsmLabelAttr : Attribute {
133     import clang.Cursor : Cursor;
134 
135     this(Cursor cursor) @safe {
136         super(cursor);
137     }
138 
139     override void accept(Visitor v) @safe const {
140         static import libclang_ast.ast;
141 
142         libclang_ast.ast.accept(cursor, v);
143     }
144 }
145 
146 final class PackedAttr : Attribute {
147     import clang.Cursor : Cursor;
148 
149     this(Cursor cursor) @safe {
150         super(cursor);
151     }
152 
153     override void accept(Visitor v) @safe const {
154         static import libclang_ast.ast;
155 
156         libclang_ast.ast.accept(cursor, v);
157     }
158 }
159 
160 final class PureAttr : Attribute {
161     import clang.Cursor : Cursor;
162 
163     this(Cursor cursor) @safe {
164         super(cursor);
165     }
166 
167     override void accept(Visitor v) @safe const {
168         static import libclang_ast.ast;
169 
170         libclang_ast.ast.accept(cursor, v);
171     }
172 }
173 
174 final class ConstAttr : Attribute {
175     import clang.Cursor : Cursor;
176 
177     this(Cursor cursor) @safe {
178         super(cursor);
179     }
180 
181     override void accept(Visitor v) @safe const {
182         static import libclang_ast.ast;
183 
184         libclang_ast.ast.accept(cursor, v);
185     }
186 }
187 
188 final class NoDuplicateAttr : Attribute {
189     import clang.Cursor : Cursor;
190 
191     this(Cursor cursor) @safe {
192         super(cursor);
193     }
194 
195     override void accept(Visitor v) @safe const {
196         static import libclang_ast.ast;
197 
198         libclang_ast.ast.accept(cursor, v);
199     }
200 }
201 
202 final class CudaConstantAttr : Attribute {
203     import clang.Cursor : Cursor;
204 
205     this(Cursor cursor) @safe {
206         super(cursor);
207     }
208 
209     override void accept(Visitor v) @safe const {
210         static import libclang_ast.ast;
211 
212         libclang_ast.ast.accept(cursor, v);
213     }
214 }
215 
216 final class CudaDeviceAttr : Attribute {
217     import clang.Cursor : Cursor;
218 
219     this(Cursor cursor) @safe {
220         super(cursor);
221     }
222 
223     override void accept(Visitor v) @safe const {
224         static import libclang_ast.ast;
225 
226         libclang_ast.ast.accept(cursor, v);
227     }
228 }
229 
230 final class CudaGlobalAttr : Attribute {
231     import clang.Cursor : Cursor;
232 
233     this(Cursor cursor) @safe {
234         super(cursor);
235     }
236 
237     override void accept(Visitor v) @safe const {
238         static import libclang_ast.ast;
239 
240         libclang_ast.ast.accept(cursor, v);
241     }
242 }
243 
244 final class CudaHostAttr : Attribute {
245     import clang.Cursor : Cursor;
246 
247     this(Cursor cursor) @safe {
248         super(cursor);
249     }
250 
251     override void accept(Visitor v) @safe const {
252         static import libclang_ast.ast;
253 
254         libclang_ast.ast.accept(cursor, v);
255     }
256 }
257 
258 final class CudaSharedAttr : Attribute {
259     import clang.Cursor : Cursor;
260 
261     this(Cursor cursor) @safe {
262         super(cursor);
263     }
264 
265     override void accept(Visitor v) @safe const {
266         static import libclang_ast.ast;
267 
268         libclang_ast.ast.accept(cursor, v);
269     }
270 }
271 
272 final class VisibilityAttr : Attribute {
273     import clang.Cursor : Cursor;
274 
275     this(Cursor cursor) @safe {
276         super(cursor);
277     }
278 
279     override void accept(Visitor v) @safe const {
280         static import libclang_ast.ast;
281 
282         libclang_ast.ast.accept(cursor, v);
283     }
284 }
285 
286 final class DllExport : Attribute {
287     import clang.Cursor : Cursor;
288 
289     this(Cursor cursor) @safe {
290         super(cursor);
291     }
292 
293     override void accept(Visitor v) @safe const {
294         static import libclang_ast.ast;
295 
296         libclang_ast.ast.accept(cursor, v);
297     }
298 }
299 
300 final class DllImport : Attribute {
301     import clang.Cursor : Cursor;
302 
303     this(Cursor cursor) @safe {
304         super(cursor);
305     }
306 
307     override void accept(Visitor v) @safe const {
308         static import libclang_ast.ast;
309 
310         libclang_ast.ast.accept(cursor, v);
311     }
312 }