Class Value
LLVM Value
Inheritance
Inherited Members
Namespace: Ubiquity.NET.Llvm.Values
Assembly: Ubiquity.NET.Llvm.dll
Syntax
public class Value : IExtensiblePropertyContainer
Remarks
Value is the root of a hierarchy of types representing values in LLVM. Values (and derived classes) are never constructed directly with the new operator. Instead, they are produced by other classes in this library internally. This is because they are just wrappers around the LLVM-C API handles and must maintain the "uniqueing" semantics. (e.g. allowing reference equality for values that are fundamentally the same value). This is generally hidden in the internals of the Ubiquity.NET.Llvm library so that callers need not be concerned with the details but can rely on the expected behavior that two Value instances referring to the same actual value (i.e. a function) are actually the same .NET object as well within the same Context
Properties
Context | Gets the context for this value |
IsCallSite | Gets a value indicating whether the Value is a call-site |
IsFunction | Gets a value indicating whether the Value is a function |
IsInstruction | Gets a value indicating whether the Value is an instruction |
IsNull | Gets a value indicating whether the Value represents the NULL value for the values type |
IsUndefined | Gets a value indicating whether this value is Undefined |
Name | Gets or sets name of the value (if any) |
NativeType | Gets the type of the value |
Methods
AddExtendedPropertyValue(String, Object) | Adds a value to the container |
ReplaceAllUsesWith(Value) | Replace all uses of a Value with another one |
ToString() | Generates a string representing the LLVM syntax of the value |
TryGetExtendedPropertyValue<T>(String, out T) | Try to get a value from the container |