Class IrInstruction.ProviderCall
Invokes a provider function.
public sealed record IrInstruction.ProviderCall : IrInstruction, IEquatable<IrInstruction>, IEquatable<IrInstruction.ProviderCall>
- Inheritance
-
IrInstruction.ProviderCall
- Implements
- Inherited Members
Constructors
ProviderCall(TextSpan, int?, string, TypeSymbol, IReadOnlyList<int>)
Invokes a provider function.
public ProviderCall(TextSpan Span, int? Destination, string FunctionId, TypeSymbol ReturnType, IReadOnlyList<int> Arguments)
Parameters
SpanTextSpanThe source span.
Destinationint?The destination slot, or
nullfor a void call.FunctionIdstringThe provider function identifier.
ReturnTypeTypeSymbolThe declared return type.
ArgumentsIReadOnlyList<int>The argument slots.
Properties
Arguments
The argument slots.
public IReadOnlyList<int> Arguments { get; init; }
Property Value
Destination
The destination slot, or null for a void call.
public int? Destination { get; init; }
Property Value
- int?
EqualityContract
protected override Type EqualityContract { get; }
Property Value
FunctionId
The provider function identifier.
public string FunctionId { get; init; }
Property Value
ReturnType
The declared return type.
public TypeSymbol ReturnType { get; init; }
Property Value
Methods
Deconstruct(out TextSpan, out int?, out string, out TypeSymbol, out IReadOnlyList<int>)
public void Deconstruct(out TextSpan Span, out int? Destination, out string FunctionId, out TypeSymbol ReturnType, out IReadOnlyList<int> Arguments)
Parameters
SpanTextSpanDestinationint?FunctionIdstringReturnTypeTypeSymbolArgumentsIReadOnlyList<int>
Equals(IrInstruction?)
public override sealed bool Equals(IrInstruction? other)
Parameters
otherIrInstruction
Returns
Equals(ProviderCall?)
public bool Equals(IrInstruction.ProviderCall? other)
Parameters
otherIrInstruction.ProviderCall
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
PrintMembers(StringBuilder)
protected override bool PrintMembers(StringBuilder builder)
Parameters
builderStringBuilder
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(ProviderCall?, ProviderCall?)
public static bool operator ==(IrInstruction.ProviderCall? left, IrInstruction.ProviderCall? right)
Parameters
leftIrInstruction.ProviderCallrightIrInstruction.ProviderCall
Returns
operator !=(ProviderCall?, ProviderCall?)
public static bool operator !=(IrInstruction.ProviderCall? left, IrInstruction.ProviderCall? right)
Parameters
leftIrInstruction.ProviderCallrightIrInstruction.ProviderCall