clang 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
APINotesFormat.h File Reference
#include "clang/APINotes/Types.h"
#include "llvm/ADT/PointerEmbeddedInt.h"
#include "llvm/Bitcode/BitcodeConvenience.h"

Go to the source code of this file.

Classes

struct  clang::api_notes::StoredObjCSelector
 A stored Objective-C selector. More...
 
struct  clang::api_notes::ContextTableKey
 A stored Objective-C or C++ context, represented by the ID of its parent context, the kind of this context (Objective-C class / C++ namespace / etc), and the ID of this context. More...
 
struct  clang::api_notes::SingleDeclTableKey
 A stored Objective-C or C++ declaration, represented by the ID of its parent context, and the name of the declaration. More...
 
struct  llvm::DenseMapInfo< clang::api_notes::StoredObjCSelector >
 
struct  llvm::DenseMapInfo< clang::api_notes::ContextTableKey >
 
struct  llvm::DenseMapInfo< clang::api_notes::SingleDeclTableKey >
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::api_notes
 
namespace  clang::api_notes::control_block
 
namespace  clang::api_notes::identifier_block
 
namespace  clang::api_notes::context_block
 
namespace  clang::api_notes::objc_property_block
 
namespace  clang::api_notes::objc_method_block
 
namespace  clang::api_notes::cxx_method_block
 
namespace  clang::api_notes::field_block
 
namespace  clang::api_notes::objc_selector_block
 
namespace  clang::api_notes::global_variable_block
 
namespace  clang::api_notes::global_function_block
 
namespace  clang::api_notes::tag_block
 
namespace  clang::api_notes::typedef_block
 
namespace  clang::api_notes::enum_constant_block
 
namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 

Typedefs

using clang::api_notes::IdentifierID = llvm::PointerEmbeddedInt< unsigned, 31 >
 
using clang::api_notes::IdentifierIDField = llvm::BCVBR< 16 >
 
using clang::api_notes::SelectorID = llvm::PointerEmbeddedInt< unsigned, 31 >
 
using clang::api_notes::SelectorIDField = llvm::BCVBR< 16 >
 
using clang::api_notes::control_block::MetadataLayout = llvm::BCRecordLayout< METADATA, llvm::BCFixed< 16 >, llvm::BCFixed< 16 > >
 
using clang::api_notes::control_block::ModuleNameLayout = llvm::BCRecordLayout< MODULE_NAME, llvm::BCBlob >
 
using clang::api_notes::control_block::ModuleOptionsLayout = llvm::BCRecordLayout< MODULE_OPTIONS, llvm::BCFixed< 1 > >
 
using clang::api_notes::control_block::SourceFileLayout = llvm::BCRecordLayout< SOURCE_FILE, llvm::BCVBR< 16 >, llvm::BCVBR< 16 > >
 
using clang::api_notes::identifier_block::IdentifierDataLayout = llvm::BCRecordLayout< IDENTIFIER_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::context_block::ContextIDLayout = llvm::BCRecordLayout< CONTEXT_ID_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::context_block::ContextInfoLayout = llvm::BCRecordLayout< CONTEXT_INFO_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::objc_property_block::ObjCPropertyDataLayout = llvm::BCRecordLayout< OBJC_PROPERTY_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::objc_method_block::ObjCMethodDataLayout = llvm::BCRecordLayout< OBJC_METHOD_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::cxx_method_block::CXXMethodDataLayout = llvm::BCRecordLayout< CXX_METHOD_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::field_block::FieldDataLayout = llvm::BCRecordLayout< FIELD_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::objc_selector_block::ObjCSelectorDataLayout = llvm::BCRecordLayout< OBJC_SELECTOR_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::global_variable_block::GlobalVariableDataLayout = llvm::BCRecordLayout< GLOBAL_VARIABLE_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::global_function_block::GlobalFunctionDataLayout = llvm::BCRecordLayout< GLOBAL_FUNCTION_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::tag_block::TagDataLayout = llvm::BCRecordLayout< TAG_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::typedef_block::TypedefDataLayout = llvm::BCRecordLayout< TYPEDEF_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 
using clang::api_notes::enum_constant_block::EnumConstantDataLayout = llvm::BCRecordLayout< ENUM_CONSTANT_DATA, llvm::BCVBR< 16 >, llvm::BCBlob >
 

Enumerations

enum  clang::api_notes::BlockID {
  clang::api_notes::CONTROL_BLOCK_ID = llvm::bitc::FIRST_APPLICATION_BLOCKID , clang::api_notes::IDENTIFIER_BLOCK_ID , clang::api_notes::OBJC_CONTEXT_BLOCK_ID , clang::api_notes::OBJC_PROPERTY_BLOCK_ID ,
  clang::api_notes::OBJC_METHOD_BLOCK_ID , clang::api_notes::CXX_METHOD_BLOCK_ID , clang::api_notes::OBJC_SELECTOR_BLOCK_ID , clang::api_notes::FIELD_BLOCK_ID ,
  clang::api_notes::GLOBAL_VARIABLE_BLOCK_ID , clang::api_notes::GLOBAL_FUNCTION_BLOCK_ID , clang::api_notes::TAG_BLOCK_ID , clang::api_notes::TYPEDEF_BLOCK_ID ,
  clang::api_notes::ENUM_CONSTANT_BLOCK_ID
}
 The various types of blocks that can occur within a API notes file. More...
 
enum  { clang::api_notes::control_block::METADATA = 1 , clang::api_notes::control_block::MODULE_NAME = 2 , clang::api_notes::control_block::MODULE_OPTIONS = 3 , clang::api_notes::control_block::SOURCE_FILE = 4 }
 
enum  { clang::api_notes::identifier_block::IDENTIFIER_DATA = 1 }
 
enum  { clang::api_notes::context_block::CONTEXT_ID_DATA = 1 , clang::api_notes::context_block::CONTEXT_INFO_DATA = 2 }
 
enum  { clang::api_notes::objc_property_block::OBJC_PROPERTY_DATA = 1 }
 
enum  { clang::api_notes::objc_method_block::OBJC_METHOD_DATA = 1 }
 
enum  { clang::api_notes::cxx_method_block::CXX_METHOD_DATA = 1 }
 
enum  { clang::api_notes::field_block::FIELD_DATA = 1 }
 
enum  { clang::api_notes::objc_selector_block::OBJC_SELECTOR_DATA = 1 }
 
enum  { clang::api_notes::global_variable_block::GLOBAL_VARIABLE_DATA = 1 }
 
enum  { clang::api_notes::global_function_block::GLOBAL_FUNCTION_DATA = 1 }
 
enum  { clang::api_notes::tag_block::TAG_DATA = 1 }
 
enum  { clang::api_notes::typedef_block::TYPEDEF_DATA = 1 }
 
enum  { clang::api_notes::enum_constant_block::ENUM_CONSTANT_DATA = 1 }
 

Functions

bool clang::api_notes::operator== (const ContextTableKey &lhs, const ContextTableKey &rhs)
 
bool clang::api_notes::operator== (const SingleDeclTableKey &lhs, const SingleDeclTableKey &rhs)
 

Variables

const unsigned char clang::api_notes::API_NOTES_SIGNATURE [] = {0xE2, 0x9C, 0xA8, 0x01}
 Magic number for API notes files.
 
const uint16_t clang::api_notes::VERSION_MAJOR = 0
 API notes file major version number.
 
const uint16_t clang::api_notes::VERSION_MINOR = 30
 API notes file minor version number.
 
const uint8_t clang::api_notes::kSwiftCopyable = 1
 
const uint8_t clang::api_notes::kSwiftNonCopyable = 2