llvm/clang/tools/libclang/CXTranslationUnit.h

//===- CXTranslationUnit.h - Routines for manipulating CXTranslationUnits -===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file defines routines for manipulating CXTranslationUnits.
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_CLANG_TOOLS_LIBCLANG_CXTRANSLATIONUNIT_H
#define LLVM_CLANG_TOOLS_LIBCLANG_CXTRANSLATIONUNIT_H

#include "CLog.h"
#include "CXString.h"
#include "clang-c/Index.h"

namespace clang {
  class ASTUnit;
  class CIndexer;
namespace index {
class CommentToXMLConverter;
} // namespace index
} // namespace clang

struct CXTranslationUnitImpl {};

struct CXTargetInfoImpl {};

namespace clang {
namespace cxtu {

CXTranslationUnitImpl *MakeCXTranslationUnit(CIndexer *CIdx,
                                             std::unique_ptr<ASTUnit> AU);

static inline ASTUnit *getASTUnit(CXTranslationUnit TU) {}

/// \returns true if the ASTUnit has a diagnostic about the AST file being
/// corrupted.
bool isASTReadError(ASTUnit *AU);

static inline bool isNotUsableTU(CXTranslationUnit TU) {}

#define LOG_BAD_TU(TU)

class CXTUOwner {};


}} // end namespace clang::cxtu

#endif