#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_UTILS_FILE_EXTENSIONS_UTILS_H
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_UTILS_FILE_EXTENSIONS_UTILS_H
#include "../FileExtensionsSet.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringRef.h"
#include <optional>
namespace clang::tidy::utils {
bool isExpansionLocInHeaderFile(SourceLocation Loc, const SourceManager &SM,
const FileExtensionsSet &HeaderFileExtensions);
bool isPresumedLocInHeaderFile(SourceLocation Loc, SourceManager &SM,
const FileExtensionsSet &HeaderFileExtensions);
bool isSpellingLocInHeaderFile(SourceLocation Loc, SourceManager &SM,
const FileExtensionsSet &HeaderFileExtensions);
inline StringRef defaultHeaderFileExtensions() { … }
inline StringRef defaultImplementationFileExtensions() { … }
inline StringRef defaultFileExtensionDelimiters() { … }
bool parseFileExtensions(StringRef AllFileExtensions,
FileExtensionsSet &FileExtensions,
StringRef Delimiters);
std::optional<StringRef>
getFileExtension(StringRef FileName, const FileExtensionsSet &FileExtensions);
bool isFileExtension(StringRef FileName,
const FileExtensionsSet &FileExtensions);
}
#endif