1 //===--- ASTFwd.h ----------------------------------------*- C++ -*-===//
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
7 //===--------------------------------------------------------------===//
10 /// Forward declaration of all AST node types.
12 //===-------------------------------------------------------------===//
14 #ifndef LLVM_CLANG_AST_ASTFWD_H
15 #define LLVM_CLANG_AST_ASTFWD_H
20 #define DECL(DERIVED, BASE) class DERIVED##Decl;
21 #include "clang/AST/DeclNodes.inc"
23 #define STMT(DERIVED, BASE) class DERIVED;
24 #include "clang/AST/StmtNodes.inc"
26 #define TYPE(DERIVED, BASE) class DERIVED##Type;
27 #include "clang/AST/TypeNodes.inc"
28 class CXXCtorInitializer;
30 #define GEN_CLANG_CLAUSE_CLASS
31 #define CLAUSE_CLASS(Enum, Str, Class) class Class;
32 #include "llvm/Frontend/OpenMP/OMP.inc"
34 #define ATTR(A) class A##Attr;
35 #include "clang/Basic/AttrList.inc"
36 class ObjCProtocolLoc;
38 } // end namespace clang