One Hat Cyber Team
Your IP :
216.73.216.14
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
include
/
clang
/
ExtractAPI
/
View File Name :
APIIgnoresList.h
//===- ExtractAPI/APIIgnoresList.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 defines APIIgnoresList which is a type that allows querying /// files containing symbols to ignore when extracting API information. /// //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_API_IGNORES_LIST_H #define LLVM_CLANG_API_IGNORES_LIST_H #include "clang/Basic/FileManager.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/Error.h" #include "llvm/Support/raw_ostream.h" #include <memory> #include <system_error> namespace llvm { class MemoryBuffer; } // namespace llvm namespace clang { namespace extractapi { struct IgnoresFileNotFound : public llvm::ErrorInfo<IgnoresFileNotFound> { std::string Path; static char ID; explicit IgnoresFileNotFound(StringRef Path) : Path(Path) {} virtual void log(llvm::raw_ostream &os) const override; virtual std::error_code convertToErrorCode() const override; }; /// A type that provides access to a new line separated list of symbol names to /// ignore when extracting API information. struct APIIgnoresList { using FilePathList = std::vector<std::string>; /// The API to use for generating from the files at \p IgnoresFilePathList. /// /// \returns an initialized APIIgnoresList or an Error. static llvm::Expected<APIIgnoresList> create(const FilePathList &IgnoresFilePathList, FileManager &FM); APIIgnoresList() = default; /// Check if \p SymbolName is specified in the APIIgnoresList and if it should /// therefore be ignored. bool shouldIgnore(llvm::StringRef SymbolName) const; private: using SymbolNameList = llvm::SmallVector<llvm::StringRef, 32>; using BufferList = llvm::SmallVector<std::unique_ptr<llvm::MemoryBuffer>>; APIIgnoresList(SymbolNameList SymbolsToIgnore, BufferList Buffers) : SymbolsToIgnore(std::move(SymbolsToIgnore)), Buffers(std::move(Buffers)) {} SymbolNameList SymbolsToIgnore; BufferList Buffers; }; } // namespace extractapi } // namespace clang #endif // LLVM_CLANG_API_IGNORES_LIST_H