record TType

DescriptionHierarchyFieldsMethodsProperties

Unit

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

property Kind: TTypeKind read GetKind;
property KindSpelling: String read GetKindSpelling;
property Spelling: String read GetSpelling;
property CanonicalType: TType read GetCanonicalType;
property IsConstQualified: Boolean read GetIsConstQualified;
property IsVolatileQualified: Boolean read GetIsVolatileQualified;
property IsRestrictQualified: Boolean read GetIsRestrictQualified;
property IsFunctionVariadic: Boolean read GetIsFunctionVariadic;
property IsPodType: Boolean read GetIsPodType;
property IsTransparentTagTypedef: Boolean read GetIsTransparentTagTypedef;
property AddressSpace: Cardinal read GetAddressSpace;
property TypedefName: String read GetTypedefName;
property PointeeType: TType read GetPointeeType;
property ObjCEncoding: String read GetObjCEncoding;
property FunctionCallingConv: TCallingConv read GetFunctionCallingConv;
property ResultType: TType read GetResultType;
property ExceptionSpecificationType: Integer read GetExceptionSpecificationType;
property ArgTypeCount: Integer read GetArgTypeCount;
property ArgTypes[constAIndex:Integer]: TType read GetArgType;
property ElementType: TType read GetElementType;
property ElementCount: Integer read GetElementCount;
property ArrayElementType: TType read GetArrayElementType;
property ArraySize: Int64 read GetArraySize;
property NamedType: TType read GetNamedType;
property AlignOf: Int64 read GetAlignOf;
property ClassType: TType read GetClassType;
property SizeOf: Int64 read GetSizeOf;
property TemplateArgumentCount: Integer read GetTemplateArgumentCount;
property TemplateArgumentTypes[constAIndex:Integer]: TType read GetTemplateArgumentType;
property CxxRefQualifier: TRefQualifierKind read GetCxxRefQualifier;
property Handle: TCXType read FHandle;

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.