#ifndef LLVM_CLANG_UNITTESTS_AST_IMPORTER_FIXTURES_H
#define LLVM_CLANG_UNITTESTS_AST_IMPORTER_FIXTURES_H
#include "gmock/gmock.h"
#include "clang/AST/ASTImporter.h"
#include "clang/AST/ASTImporterSharedState.h"
#include "clang/Frontend/ASTUnit.h"
#include "clang/Testing/CommandLineArgs.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "DeclMatcher.h"
#include "MatchVerifier.h"
#include <sstream>
namespace clang {
class ASTImporter;
class ASTImporterSharedState;
class ASTUnit;
namespace ast_matchers {
const StringRef DeclToImportID = …;
const StringRef DeclToVerifyID = …;
void createVirtualFileIfNeeded(ASTUnit *ToAST, StringRef FileName,
std::unique_ptr<llvm::MemoryBuffer> &&Buffer);
void createVirtualFileIfNeeded(ASTUnit *ToAST, StringRef FileName,
StringRef Code);
class CompilerOptionSpecificTest : public ::testing::Test { … };
const auto DefaultTestArrayForRunOptions = …;
const auto DefaultTestValuesForRunOptions = …;
class ASTImporterTestBase : public CompilerOptionSpecificTest { … };
class ASTImporterOptionSpecificTestBase
: public ASTImporterTestBase,
public ::testing::WithParamInterface<std::vector<std::string>> { … };
class TestImportBase
: public CompilerOptionSpecificTest,
public ::testing::WithParamInterface<std::vector<std::string>> { … };
template <typename T> RecordDecl *getRecordDecl(T *D) { … }
template <class T>
::testing::AssertionResult isSuccess(llvm::Expected<T> &ValOrErr) { … }
template <class T>
::testing::AssertionResult isImportError(llvm::Expected<T> &ValOrErr,
ASTImportError::ErrorKind Kind) { … }
}
}
#endif