Table of Contents

Class Value

Namespace
Ubiquity.NET.Llvm.Values
Assembly
Ubiquity.NET.Llvm.dll

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