Neslib.ClangNeslib.Clang Units Class Hierarchy Classes, Interfaces, Objects and Records Types Variables Constants Functions and Procedures Identifiers License |
record TType
Unit
Neslib.Clang
Declaration
type TType = record
Description
The type of an element in the abstract syntax tree.
Overview
Methods
class operator Equal(const ALeft, ARight: TType): Boolean; inline; static; |
class operator NotEqual(const ALeft, ARight: TType): Boolean; inline; static; |
function GetOffsetOf(const AFieldName: String): Int64; inline; |
Properties
Description
Methods
class operator Equal(const ALeft, ARight: TType): Boolean; inline; static; |
Equality operators. Determine whether two TType's represent the same type.
|
class operator NotEqual(const ALeft, ARight: TType): Boolean; inline; static; |
|
function GetOffsetOf(const AFieldName: String): Int64; inline; |
Get the offset of a field named AFieldName in a record of this type in bits as it would be returned by __offsetof__ as per C++11[18.2p4]
|
Properties
property Kind: TTypeKind read GetKind; |
The kind of the type
|
property KindSpelling: String read GetKindSpelling; |
The spelling of the type kind
|
property Spelling: String read GetSpelling; |
Pretty-print the underlying type using the rules of the language of the translation unit from which it came.
If the type is invalid, an empty string is returned.
|
property CanonicalType: TType read GetCanonicalType; |
The canonical type for the type.
Clang's type system explicitly models typedefs and all the ways a specific type can be represented. The canonical type is the underlying type with all the "sugar" removed. For example, if 'T' is a typedef for 'int', the canonical type for 'T' would be 'int'.
|
property IsConstQualified: Boolean read GetIsConstQualified; |
Whether this type has the "const" qualifier set, without looking through typedefs that may have added "const" at a different level.
|
property IsVolatileQualified: Boolean read GetIsVolatileQualified; |
Whether this type has the "volatile" qualifier set, without looking through typedefs that may have added "volatile" at a different level.
|
property IsRestrictQualified: Boolean read GetIsRestrictQualified; |
Whether this type has the "restrict" qualifier set, without looking through typedefs that may have added "restrict" at a different level.
|
property IsFunctionVariadic: Boolean read GetIsFunctionVariadic; |
Whether the type is a variadic function type.
|
property IsPodType: Boolean read GetIsPodType; |
Whether the type is a POD (plain old data) type.
|
property IsTransparentTagTypedef: Boolean read GetIsTransparentTagTypedef; |
Whether a typedef is 'transparent' tag.
A typedef is considered 'transparent' if it shares a name and spelling location with its underlying tag type, as is the case with the NS_ENUM macro.
|
property AddressSpace: Cardinal read GetAddressSpace; |
The address space of the type.
|
property TypedefName: String read GetTypedefName; |
The typedef name of the type.
|
property PointeeType: TType read GetPointeeType; |
For pointer types, the type of the pointee.
|
property ObjCEncoding: String read GetObjCEncoding; |
The Objective-C type encoding for the type.
|
property FunctionCallingConv: TCallingConv read GetFunctionCallingConv; |
The calling convention associated with a function type.
If a non-function type is passed in, nvalid is returned.
|
property ResultType: TType read GetResultType; |
The return type associated with a function type.
If a non-function type is passed in, an invalid type is returned.
|
property ExceptionSpecificationType: Integer read GetExceptionSpecificationType; |
The exception specification type associated with a function type.
If a non-function type is passed in, an error code of -1 is returned.
|
property ArgTypeCount: Integer read GetArgTypeCount; |
The number of non-variadic parameters associated with a function type.
If a non-function type is passed in, -1 is returned.
|
property ArgTypes[constAIndex:Integer]: TType read GetArgType; |
The type of a parameter of a function type.
If a non-function type is passed in or the function does not have enough parameters, an invalid type is returned.
|
property ElementType: TType read GetElementType; |
The element type of an array, complex, or vector type.
If the type is not an array, complex, or vector type, an invalid type is returned.
|
property ElementCount: Integer read GetElementCount; |
The number of elements of an array or vector type.
If the type is not an array or vector type, -1 is returned.
|
property ArrayElementType: TType read GetArrayElementType; |
The element type of an array type.
For non-array types, an invalid type is returned.
|
property ArraySize: Int64 read GetArraySize; |
the array size of a constant array.
For a non-array types, -1 is returned
|
property NamedType: TType read GetNamedType; |
The type named by the qualified-id.
For non-elaborated types, an invalid type is returned.
|
property AlignOf: Int64 read GetAlignOf; |
The alignment of the type in bytes as per C++[expr.alignof] standard.
|
property ClassType: TType read GetClassType; |
The class type of an member pointer type.
For non-member-pointer types, an invalid type is returned.
|
property SizeOf: Int64 read GetSizeOf; |
The size of a type in bytes as per C++[expr.sizeof] standard.
|
property TemplateArgumentCount: Integer read GetTemplateArgumentCount; |
The number of template arguments for this template specialization, or -1 if this type is not a template specialization.
|
property TemplateArgumentTypes[constAIndex:Integer]: TType read GetTemplateArgumentType; |
The type template argument of this template class specialization at given index.
This property only returns template type arguments and does not handle template template arguments or variadic packs.
|
property CxxRefQualifier: TRefQualifierKind read GetCxxRefQualifier; |
The ref-qualifier kind of a function or method.
The ref-qualifier is returned for C++ functions or methods. For other types or non-C++ declarations, None is returned.
|
property Handle: TCXType read FHandle; |
Internal handle to C API
|
Generated by PasDocEx, based on PasDoc 0.14.0.
|