Click or drag to resize
Llvm.NET LogoAttributeSet Structure

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

AttributeSet for a Function, CallInstruction, or Invoke instruction

Namespace:  Llvm.NET.Values
Assembly:  Llvm.NET (in Llvm.NET.dll) Version: 3.8.6158
Syntax
C#
public struct AttributeSet : IEquatable<AttributeSet>

The AttributeSet type exposes the following members.

Constructors
  NameDescription
Public methodAttributeSet
Initializes a new instance of the AttributeSet class
Top
Properties
  NameDescription
Public propertyAllAttributes
Public propertyContext
Context used to intern this AttributeSet
Public propertyFunctionAttributes
Gets the attributes for the function itself
Public propertyIndexes
Enumerates the FunctionAttributeIndex values that have attributes associated in this AttributeSet
Public propertyItem
Retrieves an attributeSet filtered by the specified function index
Public propertyReturnAttributes
Gets the attributes for the function return
Top
Methods
  NameDescription
Public methodAdd(FunctionAttributeIndex, AttributeSet)
Adds Attributes from another attribute set along a given index
Public methodAdd(FunctionAttributeIndex, AttributeValue)
Adds a single attribute
Public methodAdd(FunctionAttributeIndex, AttributeValue)
Adds a set of attributes
Public methodAdd(FunctionAttributeIndex, IEnumerableAttributeValue)
Produces a new AttributeSet that includes the attributes from this set along with additional attributes provided
Public methodAsString
Get LLVM formatted string representation of this AttributeSet for a given index
Public methodEquals(Object) (Overrides ValueTypeEquals(Object).)
Public methodEquals(AttributeSet)
Public methodGetAttributeValue
Get an integer value for an index
Public methodGetHashCode (Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHas(FunctionAttributeIndex, AttributeKind)
Tests if this attribute set has a given AttributeValue kind
Public methodHas(FunctionAttributeIndex, String)
Tests if this attribute set has a given string attribute
Public methodHasAny
Tests if an AttributeSet has any attributes in the specified index
Public methodParameterAttributes
Gets the attributes for a function parameter
Public methodRemove(FunctionAttributeIndex, AttributeKind)
Removes the specified attribute from the attribute set
Public methodRemove(FunctionAttributeIndex, AttributeBuilder)
Public methodRemove(FunctionAttributeIndex, String)
Remove a target specific attribute
Public methodToString
Creates a formatted string representation of the entire AttributeSet (e.g. all indices)
(Overrides ValueTypeToString.)
Top
Operators
  NameDescription
Public operatorStatic memberEquality
Public operatorStatic memberInequality
Top
Remarks
The underlying LLVM AttributeSet class is an immutable value type, unfortunately it includes a non-default constructor and therefore isn't a POD. However, it is trivially copy constructible and standard layout so this class simply wraps the LLVM AttributeSet class. All data allocated for an AttributeSet is owned by a Context, which will handle cleaning it up on Dispose.
See Also