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.reference;
14 import libclang_ast.ast.node : Node;
15 
16 abstract class Reference : 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 ObjCSuperClassRef : Reference {
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 ObjCProtocolRef : Reference {
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 ObjCClassRef : Reference {
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 TypeRef : Reference {
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 CxxBaseSpecifier : Reference {
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 TemplateRef : Reference {
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 NamespaceRef : Reference {
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 MemberRef : Reference {
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 LabelRef : Reference {
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 OverloadedDeclRef : Reference {
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 VariableRef : Reference {
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 }