#ifndef LLVM_CLANG_TOOLS_LIBCLANG_CXINDEXDATACONSUMER_H
#define LLVM_CLANG_TOOLS_LIBCLANG_CXINDEXDATACONSUMER_H
#include "CXCursor.h"
#include "Index_Internal.h"
#include "clang/Index/IndexDataConsumer.h"
#include "clang/AST/DeclGroup.h"
#include "clang/AST/DeclObjC.h"
#include "llvm/ADT/DenseSet.h"
namespace clang {
class FileEntry;
class MSPropertyDecl;
class ObjCPropertyDecl;
class ClassTemplateDecl;
class FunctionTemplateDecl;
class TypeAliasTemplateDecl;
class ClassTemplateSpecializationDecl;
namespace cxindex {
class CXIndexDataConsumer;
class AttrListInfo;
class ScratchAlloc { … };
struct EntityInfo : public CXIdxEntityInfo { … };
struct ContainerInfo : public CXIdxContainerInfo { … };
struct DeclInfo : public CXIdxDeclInfo { … };
struct ObjCContainerDeclInfo : public DeclInfo { … };
struct ObjCInterfaceDeclInfo : public ObjCContainerDeclInfo { … };
struct ObjCProtocolDeclInfo : public ObjCContainerDeclInfo { … };
struct ObjCCategoryDeclInfo : public ObjCContainerDeclInfo { … };
struct ObjCPropertyDeclInfo : public DeclInfo { … };
struct CXXClassDeclInfo : public DeclInfo { … };
struct AttrInfo : public CXIdxAttrInfo { … };
struct IBOutletCollectionInfo : public AttrInfo { … };
class AttrListInfo { … };
class CXIndexDataConsumer : public index::IndexDataConsumer { … };
inline ScratchAlloc::ScratchAlloc(CXIndexDataConsumer &idxCtx) : … { … }
inline ScratchAlloc::ScratchAlloc(const ScratchAlloc &SA) : … { … }
inline ScratchAlloc::~ScratchAlloc() { … }
template <typename T>
inline T *ScratchAlloc::allocate() { … }
}}
#endif