Interface ITypeRef
Interface for a Type in LLVM
public interface ITypeRef : IEquatable<ITypeRef>
- Inherited Members
Remarks
important
The IEquatable<T> on this type ONLY deals with the native reference equality. That is, any reference type uses reference equality by default, but Equals(T) uses what is implemented or a default of reference equality for reference types. In this case it determines if the type refers to the exact same type instance. (Not an equivalent but different type). This is normally valid as LLVM underneath is uniqueing types within a context. As an example a managed implementation of ITypeRef `A` is a wrapper around an LLVM handle `H` that refers to an native LLVM type `T`. If there is also a ITypeRef `B`, then `A.Equals(B)` is true ONLY if `B` also wraps an LLVM handle that refers to native type `T`.
Properties
- Context
Gets the ContextAlias that owns this type
- IntegerBitWidth
Gets the integer bit width of this type or 0 for non integer types
- IsDouble
Gets a value indicating whether the type is a 64-bit IEEE floating point type
- IsFloat
Gets a value indicating whether the type is a 32-bit IEEE floating point type
- IsFloatingPoint
Gets a value indicating whether this type is a floating point type
- IsInteger
Gets a value indicating whether this type is an integer
- IsPointer
Gets a value indicating whether this type is a pointer
- IsSequence
Gets a value indicating whether this type is a sequence type
- IsSized
Gets a value indicating whether the type is sized
- IsStruct
Gets a value indicating whether this type is a structure type
- IsVoid
Gets a value indicating whether this type represents the void type
- Kind
Gets the LLVM Type kind for this type
Methods
- CreateArrayType(uint)
Array type factory for an array with elements of this type
- CreatePointerType()
Get a IPointerType for a type that points to elements of this type in the default (0) address space
- CreatePointerType(uint)
Get a IPointerType for a type that points to elements of this type in the specified address space
- GetNullValue()
Gets a null value (e.g. all bits == 0 ) for the type