Constructor DebugPointerType
DebugPointerType(IDebugType<ITypeRef, DIType>, IDIBuilder, uint, string?, uint)
Initializes a new instance of the DebugPointerType class.
public DebugPointerType(IDebugType<ITypeRef, DIType> debugElementType, IDIBuilder diBuilder, uint addressSpace = 0, string? name = null, uint alignment = 0)
Parameters
debugElementType
IDebugType<ITypeRef, DIType>Debug type of the pointee
diBuilder
IDIBuilderDebug information builder to use in creating this instance
addressSpace
uintTarget address space for the pointer [Default: 0]
name
stringName of the type [Default: null]
alignment
uintAlignment on pointer
DebugPointerType(ITypeRef, IDIBuilder, DIType?, uint, string?, uint)
Initializes a new instance of the DebugPointerType class.
public DebugPointerType(ITypeRef llvmElementType, IDIBuilder diBuilder, DIType? elementType, uint addressSpace = 0, string? name = null, uint alignment = 0)
Parameters
llvmElementType
ITypeRefNative type of the pointee
diBuilder
IDIBuilderDebug information builder to use in creating this instance
elementType
DITypeDebug type of the pointee
addressSpace
uintTarget address space for the pointer [Default: 0]
name
stringName of the type [Default: null]
alignment
uintAlignment of pointer
DebugPointerType(IPointerType, IDIBuilder, DIType?, string?, uint)
Initializes a new instance of the DebugPointerType class to bind with an existing pointer type
public DebugPointerType(IPointerType llvmPtrType, IDIBuilder diBuilder, DIType? elementType, string? name = null, uint alignment = 0)
Parameters
llvmPtrType
IPointerTypeNative type of the pointer
diBuilder
IDIBuilderDebug information builder to use in creating this instance
elementType
DITypeDebug type of the pointee
name
stringName of the type [Default: null]
alignment
uintAlignment for pointer type
Remarks
Due to the move to opaque pointers in LLVM, this form has a null ElementType property as the elements the pointer refers to are unknown.
DebugPointerType(IPointerType, DIType)
Initializes a new instance of the DebugPointerType class to bind with an existing pointer type
public DebugPointerType(IPointerType llvmPtrType, DIType debugType)
Parameters
llvmPtrType
IPointerTypeNative type of the pointer
debugType
DITypeDebug type for the pointer
Remarks
This constructor is typically used when building typedefs to a basic type to provide namespace scoping for the typedef for languages that support such a concept. This is needed because basic types don't have any namespace information in the LLVM Debug information (they are implicitly in the global namespace)