//==-- llvm/FileCheck/FileCheck.h --------------------------------*- C++ -*-==// // // 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 // //===----------------------------------------------------------------------===// // /// \file This file has some utilities to use FileCheck as an API // //===----------------------------------------------------------------------===// #ifndef LLVM_FILECHECK_FILECHECK_H #define LLVM_FILECHECK_FILECHECK_H #include "llvm/ADT/StringRef.h" #include "llvm/Support/Regex.h" #include "llvm/Support/SMLoc.h" #include <bitset> #include <memory> #include <string> #include <vector> namespace llvm { class MemoryBuffer; class SourceMgr; template <typename T> class SmallVectorImpl; /// Contains info about various FileCheck options. struct FileCheckRequest { … }; namespace Check { enum FileCheckKind { … }; enum FileCheckKindModifier { … }; class FileCheckType { … }; } // namespace Check /// Summary of a FileCheck diagnostic. struct FileCheckDiag { … }; class FileCheckPatternContext; struct FileCheckString; /// FileCheck class takes the request and exposes various methods that /// use information from the request. class FileCheck { … }; } // namespace llvm #endif