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 cpptooling.analyzer.clang.ast.reference;
14 import cpptooling.analyzer.clang.ast.node : Node;
15 
16 abstract class Reference : Node {
17     import clang.Cursor : Cursor;
18     import cpptooling.analyzer.clang.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 cpptooling.analyzer.clang.ast;
29         cpptooling.analyzer.clang.ast.accept(cursor, v);
30     }
31 }
32 
33 
34 final class ObjCSuperClassRef : Reference {
35     import clang.Cursor : Cursor;
36     this(Cursor cursor) @safe {
37         super(cursor);
38     }
39 
40     override void accept(Visitor v) @safe const {
41         static import cpptooling.analyzer.clang.ast;
42         cpptooling.analyzer.clang.ast.accept(cursor, v);
43     }
44 }
45 
46 final class ObjCProtocolRef : Reference {
47     import clang.Cursor : Cursor;
48     this(Cursor cursor) @safe {
49         super(cursor);
50     }
51 
52     override void accept(Visitor v) @safe const {
53         static import cpptooling.analyzer.clang.ast;
54         cpptooling.analyzer.clang.ast.accept(cursor, v);
55     }
56 }
57 
58 final class ObjCClassRef : Reference {
59     import clang.Cursor : Cursor;
60     this(Cursor cursor) @safe {
61         super(cursor);
62     }
63 
64     override void accept(Visitor v) @safe const {
65         static import cpptooling.analyzer.clang.ast;
66         cpptooling.analyzer.clang.ast.accept(cursor, v);
67     }
68 }
69 
70 final class TypeRef : Reference {
71     import clang.Cursor : Cursor;
72     this(Cursor cursor) @safe {
73         super(cursor);
74     }
75 
76     override void accept(Visitor v) @safe const {
77         static import cpptooling.analyzer.clang.ast;
78         cpptooling.analyzer.clang.ast.accept(cursor, v);
79     }
80 }
81 
82 final class CxxBaseSpecifier : Reference {
83     import clang.Cursor : Cursor;
84     this(Cursor cursor) @safe {
85         super(cursor);
86     }
87 
88     override void accept(Visitor v) @safe const {
89         static import cpptooling.analyzer.clang.ast;
90         cpptooling.analyzer.clang.ast.accept(cursor, v);
91     }
92 }
93 
94 final class TemplateRef : Reference {
95     import clang.Cursor : Cursor;
96     this(Cursor cursor) @safe {
97         super(cursor);
98     }
99 
100     override void accept(Visitor v) @safe const {
101         static import cpptooling.analyzer.clang.ast;
102         cpptooling.analyzer.clang.ast.accept(cursor, v);
103     }
104 }
105 
106 final class NamespaceRef : Reference {
107     import clang.Cursor : Cursor;
108     this(Cursor cursor) @safe {
109         super(cursor);
110     }
111 
112     override void accept(Visitor v) @safe const {
113         static import cpptooling.analyzer.clang.ast;
114         cpptooling.analyzer.clang.ast.accept(cursor, v);
115     }
116 }
117 
118 final class MemberRef : Reference {
119     import clang.Cursor : Cursor;
120     this(Cursor cursor) @safe {
121         super(cursor);
122     }
123 
124     override void accept(Visitor v) @safe const {
125         static import cpptooling.analyzer.clang.ast;
126         cpptooling.analyzer.clang.ast.accept(cursor, v);
127     }
128 }
129 
130 final class LabelRef : Reference {
131     import clang.Cursor : Cursor;
132     this(Cursor cursor) @safe {
133         super(cursor);
134     }
135 
136     override void accept(Visitor v) @safe const {
137         static import cpptooling.analyzer.clang.ast;
138         cpptooling.analyzer.clang.ast.accept(cursor, v);
139     }
140 }
141 
142 final class OverloadedDeclRef : Reference {
143     import clang.Cursor : Cursor;
144     this(Cursor cursor) @safe {
145         super(cursor);
146     }
147 
148     override void accept(Visitor v) @safe const {
149         static import cpptooling.analyzer.clang.ast;
150         cpptooling.analyzer.clang.ast.accept(cursor, v);
151     }
152 }
153 
154 final class VariableRef : Reference {
155     import clang.Cursor : Cursor;
156     this(Cursor cursor) @safe {
157         super(cursor);
158     }
159 
160     override void accept(Visitor v) @safe const {
161         static import cpptooling.analyzer.clang.ast;
162         cpptooling.analyzer.clang.ast.accept(cursor, v);
163     }
164 }
165