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.declaration; 14 import cpptooling.analyzer.clang.ast.node : Node; 15 16 abstract class Declaration : 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 UnexposedDecl : Declaration { 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 StructDecl : Declaration { 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 UnionDecl : Declaration { 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 ClassDecl : Declaration { 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 EnumDecl : Declaration { 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 FieldDecl : Declaration { 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 EnumConstantDecl : Declaration { 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 FunctionDecl : Declaration { 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 VarDecl : Declaration { 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 ParmDecl : Declaration { 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 ObjCInterfaceDecl : Declaration { 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 166 final class ObjCCategoryDecl : Declaration { 167 import clang.Cursor : Cursor; 168 this(Cursor cursor) @safe { 169 super(cursor); 170 } 171 172 override void accept(Visitor v) @safe const { 173 static import cpptooling.analyzer.clang.ast; 174 cpptooling.analyzer.clang.ast.accept(cursor, v); 175 } 176 } 177 178 final class ObjCProtocolDecl : Declaration { 179 import clang.Cursor : Cursor; 180 this(Cursor cursor) @safe { 181 super(cursor); 182 } 183 184 override void accept(Visitor v) @safe const { 185 static import cpptooling.analyzer.clang.ast; 186 cpptooling.analyzer.clang.ast.accept(cursor, v); 187 } 188 } 189 190 final class ObjCPropertyDecl : Declaration { 191 import clang.Cursor : Cursor; 192 this(Cursor cursor) @safe { 193 super(cursor); 194 } 195 196 override void accept(Visitor v) @safe const { 197 static import cpptooling.analyzer.clang.ast; 198 cpptooling.analyzer.clang.ast.accept(cursor, v); 199 } 200 } 201 202 final class ObjCIvarDecl : Declaration { 203 import clang.Cursor : Cursor; 204 this(Cursor cursor) @safe { 205 super(cursor); 206 } 207 208 override void accept(Visitor v) @safe const { 209 static import cpptooling.analyzer.clang.ast; 210 cpptooling.analyzer.clang.ast.accept(cursor, v); 211 } 212 } 213 214 final class ObjCInstanceMethodDecl : Declaration { 215 import clang.Cursor : Cursor; 216 this(Cursor cursor) @safe { 217 super(cursor); 218 } 219 220 override void accept(Visitor v) @safe const { 221 static import cpptooling.analyzer.clang.ast; 222 cpptooling.analyzer.clang.ast.accept(cursor, v); 223 } 224 } 225 226 final class ObjCClassMethodDecl : Declaration { 227 import clang.Cursor : Cursor; 228 this(Cursor cursor) @safe { 229 super(cursor); 230 } 231 232 override void accept(Visitor v) @safe const { 233 static import cpptooling.analyzer.clang.ast; 234 cpptooling.analyzer.clang.ast.accept(cursor, v); 235 } 236 } 237 238 final class ObjCImplementationDecl : Declaration { 239 import clang.Cursor : Cursor; 240 this(Cursor cursor) @safe { 241 super(cursor); 242 } 243 244 override void accept(Visitor v) @safe const { 245 static import cpptooling.analyzer.clang.ast; 246 cpptooling.analyzer.clang.ast.accept(cursor, v); 247 } 248 } 249 250 final class ObjCCategoryImplDecl : Declaration { 251 import clang.Cursor : Cursor; 252 this(Cursor cursor) @safe { 253 super(cursor); 254 } 255 256 override void accept(Visitor v) @safe const { 257 static import cpptooling.analyzer.clang.ast; 258 cpptooling.analyzer.clang.ast.accept(cursor, v); 259 } 260 } 261 262 final class TypedefDecl : Declaration { 263 import clang.Cursor : Cursor; 264 this(Cursor cursor) @safe { 265 super(cursor); 266 } 267 268 override void accept(Visitor v) @safe const { 269 static import cpptooling.analyzer.clang.ast; 270 cpptooling.analyzer.clang.ast.accept(cursor, v); 271 } 272 } 273 274 final class CxxMethod : Declaration { 275 import clang.Cursor : Cursor; 276 this(Cursor cursor) @safe { 277 super(cursor); 278 } 279 280 override void accept(Visitor v) @safe const { 281 static import cpptooling.analyzer.clang.ast; 282 cpptooling.analyzer.clang.ast.accept(cursor, v); 283 } 284 } 285 286 final class Namespace : Declaration { 287 import clang.Cursor : Cursor; 288 this(Cursor cursor) @safe { 289 super(cursor); 290 } 291 292 override void accept(Visitor v) @safe const { 293 static import cpptooling.analyzer.clang.ast; 294 cpptooling.analyzer.clang.ast.accept(cursor, v); 295 } 296 } 297 298 final class LinkageSpec : Declaration { 299 import clang.Cursor : Cursor; 300 this(Cursor cursor) @safe { 301 super(cursor); 302 } 303 304 override void accept(Visitor v) @safe const { 305 static import cpptooling.analyzer.clang.ast; 306 cpptooling.analyzer.clang.ast.accept(cursor, v); 307 } 308 } 309 310 final class Constructor : Declaration { 311 import clang.Cursor : Cursor; 312 this(Cursor cursor) @safe { 313 super(cursor); 314 } 315 316 override void accept(Visitor v) @safe const { 317 static import cpptooling.analyzer.clang.ast; 318 cpptooling.analyzer.clang.ast.accept(cursor, v); 319 } 320 } 321 322 final class Destructor : Declaration { 323 import clang.Cursor : Cursor; 324 this(Cursor cursor) @safe { 325 super(cursor); 326 } 327 328 override void accept(Visitor v) @safe const { 329 static import cpptooling.analyzer.clang.ast; 330 cpptooling.analyzer.clang.ast.accept(cursor, v); 331 } 332 } 333 334 final class ConversionFunction : Declaration { 335 import clang.Cursor : Cursor; 336 this(Cursor cursor) @safe { 337 super(cursor); 338 } 339 340 override void accept(Visitor v) @safe const { 341 static import cpptooling.analyzer.clang.ast; 342 cpptooling.analyzer.clang.ast.accept(cursor, v); 343 } 344 } 345 346 final class TemplateTypeParameter : Declaration { 347 import clang.Cursor : Cursor; 348 this(Cursor cursor) @safe { 349 super(cursor); 350 } 351 352 override void accept(Visitor v) @safe const { 353 static import cpptooling.analyzer.clang.ast; 354 cpptooling.analyzer.clang.ast.accept(cursor, v); 355 } 356 } 357 358 final class NonTypeTemplateParameter : Declaration { 359 import clang.Cursor : Cursor; 360 this(Cursor cursor) @safe { 361 super(cursor); 362 } 363 364 override void accept(Visitor v) @safe const { 365 static import cpptooling.analyzer.clang.ast; 366 cpptooling.analyzer.clang.ast.accept(cursor, v); 367 } 368 } 369 370 final class TemplateTemplateParameter : Declaration { 371 import clang.Cursor : Cursor; 372 this(Cursor cursor) @safe { 373 super(cursor); 374 } 375 376 override void accept(Visitor v) @safe const { 377 static import cpptooling.analyzer.clang.ast; 378 cpptooling.analyzer.clang.ast.accept(cursor, v); 379 } 380 } 381 382 final class FunctionTemplate : Declaration { 383 import clang.Cursor : Cursor; 384 this(Cursor cursor) @safe { 385 super(cursor); 386 } 387 388 override void accept(Visitor v) @safe const { 389 static import cpptooling.analyzer.clang.ast; 390 cpptooling.analyzer.clang.ast.accept(cursor, v); 391 } 392 } 393 394 final class ClassTemplate : Declaration { 395 import clang.Cursor : Cursor; 396 this(Cursor cursor) @safe { 397 super(cursor); 398 } 399 400 override void accept(Visitor v) @safe const { 401 static import cpptooling.analyzer.clang.ast; 402 cpptooling.analyzer.clang.ast.accept(cursor, v); 403 } 404 } 405 406 final class ClassTemplatePartialSpecialization : Declaration { 407 import clang.Cursor : Cursor; 408 this(Cursor cursor) @safe { 409 super(cursor); 410 } 411 412 override void accept(Visitor v) @safe const { 413 static import cpptooling.analyzer.clang.ast; 414 cpptooling.analyzer.clang.ast.accept(cursor, v); 415 } 416 } 417 418 final class NamespaceAlias : Declaration { 419 import clang.Cursor : Cursor; 420 this(Cursor cursor) @safe { 421 super(cursor); 422 } 423 424 override void accept(Visitor v) @safe const { 425 static import cpptooling.analyzer.clang.ast; 426 cpptooling.analyzer.clang.ast.accept(cursor, v); 427 } 428 } 429 430 final class UsingDirective : Declaration { 431 import clang.Cursor : Cursor; 432 this(Cursor cursor) @safe { 433 super(cursor); 434 } 435 436 override void accept(Visitor v) @safe const { 437 static import cpptooling.analyzer.clang.ast; 438 cpptooling.analyzer.clang.ast.accept(cursor, v); 439 } 440 } 441 442 final class TypeAliasDecl : Declaration { 443 import clang.Cursor : Cursor; 444 this(Cursor cursor) @safe { 445 super(cursor); 446 } 447 448 override void accept(Visitor v) @safe const { 449 static import cpptooling.analyzer.clang.ast; 450 cpptooling.analyzer.clang.ast.accept(cursor, v); 451 } 452 } 453 454 final class ObjCSynthesizeDecl : Declaration { 455 import clang.Cursor : Cursor; 456 this(Cursor cursor) @safe { 457 super(cursor); 458 } 459 460 override void accept(Visitor v) @safe const { 461 static import cpptooling.analyzer.clang.ast; 462 cpptooling.analyzer.clang.ast.accept(cursor, v); 463 } 464 } 465 466 final class ObjCDynamicDecl : Declaration { 467 import clang.Cursor : Cursor; 468 this(Cursor cursor) @safe { 469 super(cursor); 470 } 471 472 override void accept(Visitor v) @safe const { 473 static import cpptooling.analyzer.clang.ast; 474 cpptooling.analyzer.clang.ast.accept(cursor, v); 475 } 476 } 477 478 final class CxxAccessSpecifier : Declaration { 479 import clang.Cursor : Cursor; 480 this(Cursor cursor) @safe { 481 super(cursor); 482 } 483 484 override void accept(Visitor v) @safe const { 485 static import cpptooling.analyzer.clang.ast; 486 cpptooling.analyzer.clang.ast.accept(cursor, v); 487 } 488 } 489