1 //===-- ClangForward.h ------------------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef liblldb_ClangForward_h_ 11 #define liblldb_ClangForward_h_ 12 13 14 #if defined(__cplusplus) 15 16 namespace clang { 17 namespace Builtin { 18 class Context; 19 } 20 21 class Action; 22 class ASTConsumer; 23 class ASTContext; 24 class ASTRecordLayout; 25 class AddrLabelExpr; 26 class AnalyzerOptions; 27 class BinaryOperator; 28 class ClassTemplateDecl; 29 class ClassTemplateSpecializationDecl; 30 class CodeGenOptions; 31 class CodeGenerator; 32 class CompilerInstance; 33 class CompoundStmt; 34 class CXXBaseSpecifier; 35 class CXXBoolLiteralExpr; 36 class CXXFunctionalCastExpr; 37 class CXXMethodDecl; 38 class CXXNamedCastExpr; 39 class CXXRecordDecl; 40 class CXXThisExpr; 41 class CharacterLiteral; 42 class CompoundAssignOperator; 43 class Decl; 44 class DeclarationName; 45 class DeclaratorDecl; 46 class DeclContext; 47 class DeclRefExpr; 48 class DeclStmt; 49 class DependencyOutputOptions; 50 class Diagnostic; 51 class DiagnosticConsumer; 52 class DiagnosticsEngine; 53 class DiagnosticOptions; 54 class EnumDecl; 55 class EnumConstantDecl; 56 class Expr; 57 class ExternalASTSource; 58 class ExtVectorElementExpr; 59 class FieldDecl; 60 class FileManager; 61 class FileSystemOptions; 62 class FloatingLiteral; 63 class FrontendOptions; 64 class FunctionDecl; 65 class FunctionTemplateDecl; 66 class FunctionTemplateSpecializationInfo; 67 class GotoStmt; 68 class HeaderSearchOptions; 69 class IdentifierInfo; 70 class IdentifierTable; 71 class IntegerLiteral; 72 class LabelStmt; 73 class LangOptions; 74 class MacroDirective; 75 class MemberExpr; 76 class Module; 77 class NamedDecl; 78 class NamespaceDecl; 79 class NonTypeTemplateParmDecl; 80 class ObjCEncodeExpr; 81 class ObjCImplicitSetterGetterRefExpr; 82 class ObjCInterfaceDecl; 83 class ObjCIvarDecl; 84 class ObjCIvarRefExpr; 85 class ObjCMessageExpr; 86 class ObjCMethodDecl; 87 class ObjCPropertyRefExpr; 88 class ObjCProtocolDecl; 89 class ObjCProtocolExpr; 90 class ObjCSelectorExpr; 91 class ObjCSuperExpr; 92 class ParenExpr; 93 class ParmVarDecl; 94 class PredefinedExpr; 95 class PreprocessorOptions; 96 class PreprocessorOutputOptions; 97 class QualType; 98 class QualifiedNameType; 99 class RecordDecl; 100 class SelectorTable; 101 class SizeOfAlignOfExpr; 102 class SourceLocation; 103 class SourceManager; 104 class Stmt; 105 class StmtIteratorBase; 106 class StringLiteral; 107 class TagDecl; 108 class TargetInfo; 109 class TargetOptions; 110 class TemplateArgument; 111 class TemplateDecl; 112 class TemplateParameterList; 113 class TemplateTemplateParmDecl; 114 class TemplateTypeParmDecl; 115 class TextDiagnosticBuffer; 116 class TranslationUnitDecl; 117 class Type; 118 class TypeDecl; 119 class TypedefDecl; 120 class TypesCompatibleExpr; 121 class UnaryOperator; 122 class ValueDecl; 123 class VarDecl; 124 struct PrintingPolicy; 125 } 126 127 namespace llvm { 128 class APInt; 129 class APSInt; 130 class LLVMContext; 131 class ExecutionEngine; 132 } 133 134 #endif // #if defined(__cplusplus) 135 #endif // liblldb_ClangForward_h_ 136