1 //===--- ASTFwd.h ----------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===--------------------------------------------------------------===// 8 /// 9 /// \file 10 /// Forward declaration of all AST node types. 11 /// 12 //===-------------------------------------------------------------===// 13 14 #ifndef LLVM_CLANG_AST_ASTFWD_H 15 #define LLVM_CLANG_AST_ASTFWD_H 16 17 namespace clang { 18 19 class Decl; 20 #define DECL(DERIVED, BASE) class DERIVED##Decl; 21 #include "clang/AST/DeclNodes.inc" 22 class Stmt; 23 #define STMT(DERIVED, BASE) class DERIVED; 24 #include "clang/AST/StmtNodes.inc" 25 class Type; 26 #define TYPE(DERIVED, BASE) class DERIVED##Type; 27 #include "clang/AST/TypeNodes.inc" 28 class CXXCtorInitializer; 29 class OMPClause; 30 #define GEN_CLANG_CLAUSE_CLASS 31 #define CLAUSE_CLASS(Enum, Str, Class) class Class; 32 #include "llvm/Frontend/OpenMP/OMP.inc" 33 class Attr; 34 #define ATTR(A) class A##Attr; 35 #include "clang/Basic/AttrList.inc" 36 class ObjCProtocolLoc; 37 38 } // end namespace clang 39 40 #endif 41