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.preprocessor;
14 import libclang_ast.ast.node : Node;
15 
16 abstract class Preprocessor : 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 PreprocessingDirective : Preprocessor {
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 MacroDefinition : Preprocessor {
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 MacroExpansion : Preprocessor {
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 InclusionDirective : Preprocessor {
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 }