Click or drag to resize
Llvm.NET LogoValue Class

[This is preliminary documentation and is subject to change.]

LLVM Value
Inheritance Hierarchy

Namespace:  Llvm.NET.Values
Assembly:  Llvm.NET (in Llvm.NET.dll) Version: 3.8.6158
Syntax
C#
public class Value : IExtensiblePropertyContainer

The Value type exposes the following members.

Properties
  NameDescription
Public propertyContext
Public propertyIsNull
Determines if the Value represents the NULL value for the values type
Public propertyIsUndefined
Indicates if this value is Undefined
Public propertyName
Name of the value (if any)
Public propertyNativeType
Type of the value
Top
Methods
  NameDescription
Public methodAddExtendedPropertyValue
Adds a value to the container
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodReplaceAllUsesWith
Replace all uses of a Value with another one
Public methodToString
Generates a string representing the LLVM syntax of the value
(Overrides ObjectToString.)
Public methodTryGetExtendedPropertyValueT
Try to get a value from the container
Top
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 Llvm.NET library so 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
See Also