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.expression; 14 import cpptooling.analyzer.clang.ast.node : Node; 15 16 abstract class Expression : 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 UnexposedExpr : Expression { 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 DeclRefExpr : Expression { 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 MemberRefExpr : Expression { 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 CallExpr : Expression { 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 ObjCMessageExpr : Expression { 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 BlockExpr : Expression { 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 IntegerLiteral : Expression { 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 FloatingLiteral : Expression { 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 ImaginaryLiteral : Expression { 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 StringLiteral : Expression { 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 CharacterLiteral : Expression { 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 ParenExpr : Expression { 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 UnaryOperator : Expression { 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 ArraySubscriptExpr : Expression { 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 BinaryOperator : Expression { 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 CompoundAssignOperator : Expression { 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 ConditionalOperator : Expression { 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 CStyleCastExpr : Expression { 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 CompoundLiteralExpr : Expression { 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 InitListExpr : Expression { 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 AddrLabelExpr : Expression { 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 StmtExpr : Expression { 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 GenericSelectionExpr : Expression { 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 GnuNullExpr : Expression { 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 CxxStaticCastExpr : Expression { 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 CxxDynamicCastExpr : Expression { 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 CxxReinterpretCastExpr : Expression { 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 CxxConstCastExpr : Expression { 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 CxxFunctionalCastExpr : Expression { 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 CxxTypeidExpr : Expression { 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 CxxBoolLiteralExpr : Expression { 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 CxxNullPtrLiteralExpr : Expression { 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 CxxThisExpr : Expression { 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 CxxThrowExpr : Expression { 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 CxxNewExpr : Expression { 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 CxxDeleteExpr : Expression { 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 UnaryExpr : Expression { 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 ObjCStringLiteral : Expression { 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 490 final class ObjCEncodeExpr : Expression { 491 import clang.Cursor : Cursor; 492 this(Cursor cursor) @safe { 493 super(cursor); 494 } 495 496 override void accept(Visitor v) @safe const { 497 static import cpptooling.analyzer.clang.ast; 498 cpptooling.analyzer.clang.ast.accept(cursor, v); 499 } 500 } 501 502 final class ObjCSelectorExpr : Expression { 503 import clang.Cursor : Cursor; 504 this(Cursor cursor) @safe { 505 super(cursor); 506 } 507 508 override void accept(Visitor v) @safe const { 509 static import cpptooling.analyzer.clang.ast; 510 cpptooling.analyzer.clang.ast.accept(cursor, v); 511 } 512 } 513 514 final class ObjCProtocolExpr : Expression { 515 import clang.Cursor : Cursor; 516 this(Cursor cursor) @safe { 517 super(cursor); 518 } 519 520 override void accept(Visitor v) @safe const { 521 static import cpptooling.analyzer.clang.ast; 522 cpptooling.analyzer.clang.ast.accept(cursor, v); 523 } 524 } 525 526 final class ObjCBridgedCastExpr : Expression { 527 import clang.Cursor : Cursor; 528 this(Cursor cursor) @safe { 529 super(cursor); 530 } 531 532 override void accept(Visitor v) @safe const { 533 static import cpptooling.analyzer.clang.ast; 534 cpptooling.analyzer.clang.ast.accept(cursor, v); 535 } 536 } 537 538 final class PackExpansionExpr : Expression { 539 import clang.Cursor : Cursor; 540 this(Cursor cursor) @safe { 541 super(cursor); 542 } 543 544 override void accept(Visitor v) @safe const { 545 static import cpptooling.analyzer.clang.ast; 546 cpptooling.analyzer.clang.ast.accept(cursor, v); 547 } 548 } 549 550 final class SizeOfPackExpr : Expression { 551 import clang.Cursor : Cursor; 552 this(Cursor cursor) @safe { 553 super(cursor); 554 } 555 556 override void accept(Visitor v) @safe const { 557 static import cpptooling.analyzer.clang.ast; 558 cpptooling.analyzer.clang.ast.accept(cursor, v); 559 } 560 } 561 562 final class LambdaExpr : Expression { 563 import clang.Cursor : Cursor; 564 this(Cursor cursor) @safe { 565 super(cursor); 566 } 567 568 override void accept(Visitor v) @safe const { 569 static import cpptooling.analyzer.clang.ast; 570 cpptooling.analyzer.clang.ast.accept(cursor, v); 571 } 572 } 573 574 final class ObjCBoolLiteralExpr : Expression { 575 import clang.Cursor : Cursor; 576 this(Cursor cursor) @safe { 577 super(cursor); 578 } 579 580 override void accept(Visitor v) @safe const { 581 static import cpptooling.analyzer.clang.ast; 582 cpptooling.analyzer.clang.ast.accept(cursor, v); 583 } 584 } 585 586 final class ObjCSelfExpr : Expression { 587 import clang.Cursor : Cursor; 588 this(Cursor cursor) @safe { 589 super(cursor); 590 } 591 592 override void accept(Visitor v) @safe const { 593 static import cpptooling.analyzer.clang.ast; 594 cpptooling.analyzer.clang.ast.accept(cursor, v); 595 } 596 } 597 598 final class OmpArraySectionExpr : Expression { 599 import clang.Cursor : Cursor; 600 this(Cursor cursor) @safe { 601 super(cursor); 602 } 603 604 override void accept(Visitor v) @safe const { 605 static import cpptooling.analyzer.clang.ast; 606 cpptooling.analyzer.clang.ast.accept(cursor, v); 607 } 608 } 609 610 final class ObjCAvailabilityCheckExpr : Expression { 611 import clang.Cursor : Cursor; 612 this(Cursor cursor) @safe { 613 super(cursor); 614 } 615 616 override void accept(Visitor v) @safe const { 617 static import cpptooling.analyzer.clang.ast; 618 cpptooling.analyzer.clang.ast.accept(cursor, v); 619 } 620 } 621