//===--- HeaderInclude.h - Header Include -----------------------*- 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 /// Defines enums used when emitting included header information. /// //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_BASIC_HEADERINCLUDEFORMATKIND_H #define LLVM_CLANG_BASIC_HEADERINCLUDEFORMATKIND_H #include "llvm/ADT/StringSwitch.h" #include "llvm/Support/ErrorHandling.h" #include <utility> namespace clang { /// The format in which header information is emitted. enum HeaderIncludeFormatKind { … }; /// Whether header information is filtered or not. If HIFIL_Only_Direct_System /// is used, only information on system headers directly included from /// non-system headers is emitted. enum HeaderIncludeFilteringKind { … }; inline HeaderIncludeFormatKind stringToHeaderIncludeFormatKind(const char *Str) { … } inline bool stringToHeaderIncludeFiltering(const char *Str, HeaderIncludeFilteringKind &Kind) { … } inline const char *headerIncludeFormatKindToString(HeaderIncludeFormatKind K) { … } inline const char * headerIncludeFilteringKindToString(HeaderIncludeFilteringKind K) { … } } // end namespace clang #endif // LLVM_CLANG_BASIC_HEADERINCLUDEFORMATKIND_H