Table of Contents

Interface ITypeRef

Namespace
Ubiquity.NET.Llvm.Types
Assembly
Ubiquity.NET.Llvm.dll

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