clang  14.0.0git
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
clang::api_notes Namespace Reference

Namespaces

 control_block
 
 enum_constant_block
 
 global_function_block
 
 global_variable_block
 
 identifier_block
 
 objc_context_block
 
 objc_method_block
 
 objc_property_block
 
 objc_selector_block
 
 tag_block
 
 typedef_block
 

Classes

class  CommonEntityInfo
 Describes API notes data for any entity. More...
 
class  CommonTypeInfo
 Describes API notes for types. More...
 
class  EnumConstantInfo
 Describes API notes data for an enumerator. More...
 
class  FunctionInfo
 API notes for a function or method. More...
 
class  GlobalFunctionInfo
 Describes API notes data for a global function. More...
 
class  GlobalVariableInfo
 Describes API notes data for a global variable. More...
 
class  ObjCContextInfo
 Describes API notes data for an Objective-C class or protocol. More...
 
class  ObjCMethodInfo
 Describes API notes data for an Objective-C method. More...
 
class  ObjCPropertyInfo
 Describes API notes data for an Objective-C property. More...
 
class  ParamInfo
 Describes a function or method parameter. More...
 
struct  StoredObjCSelector
 A stored Objective-C selector. More...
 
class  TagInfo
 Describes API notes data for a tag. More...
 
class  TypedefInfo
 Describes API notes data for a typedef. More...
 
class  VariableInfo
 API notes for a variable/property. More...
 

Typedefs

using IdentifierID = llvm::PointerEmbeddedInt< unsigned, 31 >
 
using IdentifierIDField = llvm::BCVBR< 16 >
 
using SelectorID = llvm::PointerEmbeddedInt< unsigned, 31 >
 
using SelectorIDField = llvm::BCVBR< 16 >
 

Enumerations

enum  RetainCountConventionKind {
  RetainCountConventionKind::None, RetainCountConventionKind::CFReturnsRetained, RetainCountConventionKind::CFReturnsNotRetained, RetainCountConventionKind::NSReturnsRetained,
  RetainCountConventionKind::NSReturnsNotRetained
}
 
enum  EnumExtensibilityKind { EnumExtensibilityKind::None, EnumExtensibilityKind::Open, EnumExtensibilityKind::Closed }
 The payload for an enum_extensibility attribute. More...
 
enum  SwiftNewTypeKind { SwiftNewTypeKind::None, SwiftNewTypeKind::Struct, SwiftNewTypeKind::Enum }
 The kind of a swift_wrapper/swift_newtype. More...
 
enum  BlockID {
  CONTROL_BLOCK_ID = llvm::bitc::FIRST_APPLICATION_BLOCKID, IDENTIFIER_BLOCK_ID, OBJC_CONTEXT_BLOCK_ID, OBJC_PROPERTY_BLOCK_ID,
  OBJC_METHOD_BLOCK_ID, OBJC_SELECTOR_BLOCK_ID, GLOBAL_VARIABLE_BLOCK_ID, GLOBAL_FUNCTION_BLOCK_ID,
  TAG_BLOCK_ID, TYPEDEF_BLOCK_ID, ENUM_CONSTANT_BLOCK_ID
}
 The various types of blocks that can occur within a API notes file. More...
 

Functions

bool parseAndDumpAPINotes (llvm::StringRef YI, llvm::raw_ostream &OS)
 Parses the APINotes YAML content and writes the representation back to the specified stream. More...
 
bool operator== (const CommonEntityInfo &LHS, const CommonEntityInfo &RHS)
 
bool operator!= (const CommonEntityInfo &LHS, const CommonEntityInfo &RHS)
 
bool operator== (const CommonTypeInfo &LHS, const CommonTypeInfo &RHS)
 
bool operator!= (const CommonTypeInfo &LHS, const CommonTypeInfo &RHS)
 
bool operator== (const ObjCContextInfo &LHS, const ObjCContextInfo &RHS)
 
bool operator!= (const ObjCContextInfo &LHS, const ObjCContextInfo &RHS)
 
bool operator== (const VariableInfo &LHS, const VariableInfo &RHS)
 
bool operator!= (const VariableInfo &LHS, const VariableInfo &RHS)
 
bool operator== (const ObjCPropertyInfo &LHS, const ObjCPropertyInfo &RHS)
 
bool operator!= (const ObjCPropertyInfo &LHS, const ObjCPropertyInfo &RHS)
 
bool operator== (const ParamInfo &LHS, const ParamInfo &RHS)
 
bool operator!= (const ParamInfo &LHS, const ParamInfo &RHS)
 
bool operator== (const FunctionInfo &LHS, const FunctionInfo &RHS)
 
bool operator!= (const FunctionInfo &LHS, const FunctionInfo &RHS)
 
bool operator== (const ObjCMethodInfo &LHS, const ObjCMethodInfo &RHS)
 
bool operator!= (const ObjCMethodInfo &LHS, const ObjCMethodInfo &RHS)
 
bool operator== (const TagInfo &LHS, const TagInfo &RHS)
 
bool operator!= (const TagInfo &LHS, const TagInfo &RHS)
 
bool operator== (const TypedefInfo &LHS, const TypedefInfo &RHS)
 
bool operator!= (const TypedefInfo &LHS, const TypedefInfo &RHS)
 

Variables

const unsigned char API_NOTES_SIGNATURE [] = {0xE2, 0x9C, 0xA8, 0x01}
 Magic number for API notes files. More...
 
const uint16_t VERSION_MAJOR = 0
 API notes file major version number. More...
 
const uint16_t VERSION_MINOR = 24
 API notes file minor version number. More...
 

Typedef Documentation

◆ IdentifierID

using clang::api_notes::IdentifierID = typedef llvm::PointerEmbeddedInt<unsigned, 31>

Definition at line 28 of file APINotesFormat.h.

◆ IdentifierIDField

using clang::api_notes::IdentifierIDField = typedef llvm::BCVBR<16>

Definition at line 29 of file APINotesFormat.h.

◆ SelectorID

using clang::api_notes::SelectorID = typedef llvm::PointerEmbeddedInt<unsigned, 31>

Definition at line 31 of file APINotesFormat.h.

◆ SelectorIDField

using clang::api_notes::SelectorIDField = typedef llvm::BCVBR<16>

Definition at line 32 of file APINotesFormat.h.

Enumeration Type Documentation

◆ BlockID

The various types of blocks that can occur within a API notes file.

These IDs must not be renumbered or reordered without incrementing VERSION_MAJOR.

Enumerator
CONTROL_BLOCK_ID 

The control block, which contains all of the information that needs to be validated prior to committing to loading the API notes file.

See also
control_block
IDENTIFIER_BLOCK_ID 

The identifier data block, which maps identifier strings to IDs.

OBJC_CONTEXT_BLOCK_ID 

The Objective-C context data block, which contains information about Objective-C classes and protocols.

OBJC_PROPERTY_BLOCK_ID 

The Objective-C property data block, which maps Objective-C (class name, property name) pairs to information about the property.

OBJC_METHOD_BLOCK_ID 

The Objective-C property data block, which maps Objective-C (class name, selector, is_instance_method) tuples to information about the method.

OBJC_SELECTOR_BLOCK_ID 

The Objective-C selector data block, which maps Objective-C selector names (# of pieces, identifier IDs) to the selector ID used in other tables.

GLOBAL_VARIABLE_BLOCK_ID 

The global variables data block, which maps global variable names to information about the global variable.

GLOBAL_FUNCTION_BLOCK_ID 

The (global) functions data block, which maps global function names to information about the global function.

TAG_BLOCK_ID 

The tag data block, which maps tag names to information about the tags.

TYPEDEF_BLOCK_ID 

The typedef data block, which maps typedef names to information about the typedefs.

ENUM_CONSTANT_BLOCK_ID 

The enum constant data block, which maps enumerator names to information about the enumerators.

Definition at line 38 of file APINotesFormat.h.

◆ EnumExtensibilityKind

The payload for an enum_extensibility attribute.

This is a tri-state rather than just a boolean because the presence of the attribute indicates auditing.

Enumerator
None 
Open 
Closed 

Definition at line 31 of file Types.h.

◆ RetainCountConventionKind

Enumerator
None 
CFReturnsRetained 
CFReturnsNotRetained 
NSReturnsRetained 
NSReturnsNotRetained 

Definition at line 20 of file Types.h.

◆ SwiftNewTypeKind

The kind of a swift_wrapper/swift_newtype.

Enumerator
None 
Struct 
Enum 

Definition at line 38 of file Types.h.

Function Documentation

◆ operator!=() [1/10]

bool clang::api_notes::operator!= ( const CommonEntityInfo LHS,
const CommonEntityInfo RHS 
)
inline

Definition at line 120 of file Types.h.

◆ operator!=() [2/10]

bool clang::api_notes::operator!= ( const CommonTypeInfo LHS,
const CommonTypeInfo RHS 
)
inline

Definition at line 188 of file Types.h.

◆ operator!=() [3/10]

bool clang::api_notes::operator!= ( const FunctionInfo LHS,
const FunctionInfo RHS 
)
inline

Definition at line 597 of file Types.h.

◆ operator!=() [4/10]

bool clang::api_notes::operator!= ( const ObjCContextInfo LHS,
const ObjCContextInfo RHS 
)
inline

Definition at line 295 of file Types.h.

◆ operator!=() [5/10]

bool clang::api_notes::operator!= ( const ObjCMethodInfo LHS,
const ObjCMethodInfo RHS 
)
inline

Definition at line 635 of file Types.h.

◆ operator!=() [6/10]

bool clang::api_notes::operator!= ( const ObjCPropertyInfo LHS,
const ObjCPropertyInfo RHS 
)
inline

Definition at line 406 of file Types.h.

◆ operator!=() [7/10]

bool clang::api_notes::operator!= ( const ParamInfo LHS,
const ParamInfo RHS 
)
inline

Definition at line 477 of file Types.h.

◆ operator!=() [8/10]

bool clang::api_notes::operator!= ( const TagInfo LHS,
const TagInfo RHS 
)
inline

Definition at line 700 of file Types.h.

◆ operator!=() [9/10]

bool clang::api_notes::operator!= ( const TypedefInfo LHS,
const TypedefInfo RHS 
)
inline

Definition at line 728 of file Types.h.

◆ operator!=() [10/10]

bool clang::api_notes::operator!= ( const VariableInfo LHS,
const VariableInfo RHS 
)
inline

Definition at line 350 of file Types.h.

◆ operator==() [1/10]

bool clang::api_notes::operator== ( const CommonEntityInfo LHS,
const CommonEntityInfo RHS 
)
inline

◆ operator==() [2/10]

bool clang::api_notes::operator== ( const CommonTypeInfo LHS,
const CommonTypeInfo RHS 
)
inline

Definition at line 182 of file Types.h.

◆ operator==() [3/10]

bool clang::api_notes::operator== ( const FunctionInfo LHS,
const FunctionInfo RHS 
)
inline

◆ operator==() [4/10]

bool clang::api_notes::operator== ( const ObjCContextInfo LHS,
const ObjCContextInfo RHS 
)
inline

◆ operator==() [5/10]

bool clang::api_notes::operator== ( const ObjCMethodInfo LHS,
const ObjCMethodInfo RHS 
)
inline

◆ operator==() [6/10]

bool clang::api_notes::operator== ( const ObjCPropertyInfo LHS,
const ObjCPropertyInfo RHS 
)
inline

◆ operator==() [7/10]

bool clang::api_notes::operator== ( const ParamInfo LHS,
const ParamInfo RHS 
)
inline

Definition at line 470 of file Types.h.

◆ operator==() [8/10]

bool clang::api_notes::operator== ( const TagInfo LHS,
const TagInfo RHS 
)
inline

◆ operator==() [9/10]

bool clang::api_notes::operator== ( const TypedefInfo LHS,
const TypedefInfo RHS 
)
inline

Definition at line 723 of file Types.h.

References clang::api_notes::TypedefInfo::SwiftWrapper.

◆ operator==() [10/10]

bool clang::api_notes::operator== ( const VariableInfo LHS,
const VariableInfo RHS 
)
inline

Definition at line 344 of file Types.h.

◆ parseAndDumpAPINotes()

bool clang::api_notes::parseAndDumpAPINotes ( llvm::StringRef  YI,
llvm::raw_ostream &  OS 
)

Parses the APINotes YAML content and writes the representation back to the specified stream.

This provides a means of testing the YAML processing of the APINotes format.

Variable Documentation

◆ API_NOTES_SIGNATURE

const unsigned char clang::api_notes::API_NOTES_SIGNATURE[] = {0xE2, 0x9C, 0xA8, 0x01}

Magic number for API notes files.

Definition at line 18 of file APINotesFormat.h.

◆ VERSION_MAJOR

const uint16_t clang::api_notes::VERSION_MAJOR = 0

API notes file major version number.

Definition at line 21 of file APINotesFormat.h.

◆ VERSION_MINOR

const uint16_t clang::api_notes::VERSION_MINOR = 24

API notes file minor version number.

When the format changes IN ANY WAY, this number should be incremented.

Definition at line 26 of file APINotesFormat.h.