Class Value
LLVM Value
public class Value : IEquatable<Value>
- Inheritance
-
Value
- Implements
- Derived
- Inherited Members
- Extension Methods
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 Ubiquity.NET.Llvm.ContextAlias)
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
- Equals(object?)
Determines whether the specified object is equal to the current object.
- Equals(Value?)
Indicates whether the current object is equal to another object of the same type.
- GetHashCode()
Serves as the default hash function.
- ReplaceAllUsesWith(Value)
Replace all uses of a Value with another one
- ToString()
Generates a string representing the LLVM syntax of the value