Table of Contents

Interface IFunctionAttributeAccessor

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

Interface for raw attribute access

public interface IFunctionAttributeAccessor
Extension Methods

Remarks

As of LLVM v3.9x and later, Functions and call sites use distinct LLVM-C API sets for manipulating attributes. Fortunately, they have consistent signatures so this interface is used to abstract the difference via derived types specialized for each case. This interface abstracts the differences so that access from callers is the same.

Properties

Context

Gets the context for the container, used for creating attributes

Methods

AddAttributeAtIndex(FunctionAttributeIndex, AttributeValue)

Adds an AttributeValue at a specified index

GetAttributeAtIndex(FunctionAttributeIndex, uint)

Gets a specific attribute at a given index

GetAttributeAtIndex(FunctionAttributeIndex, LazyEncodedString)

Gets a named attribute at a given index

GetAttributeCountAtIndex(FunctionAttributeIndex)

Gets the count of attributes on a given index

GetAttributesAtIndex(FunctionAttributeIndex)

Gets the attributes on a given index

RemoveAttributeAtIndex(FunctionAttributeIndex, uint)

Removes an AttributeInfo at a specified index

RemoveAttributeAtIndex(FunctionAttributeIndex, LazyEncodedString)

Removes a named attribute at a specified index