Table of Contents

Class IrInstruction.ProviderCall

Namespace
MuLang.IR
Assembly
MuLang.IR.dll

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

Span TextSpan

The source span.

Destination int?

The destination slot, or null for a void call.

FunctionId string

The provider function identifier.

ReturnType TypeSymbol

The declared return type.

Arguments IReadOnlyList<int>

The argument slots.

Properties

Arguments

The argument slots.

public IReadOnlyList<int> Arguments { get; init; }

Property Value

IReadOnlyList<int>

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

Type

FunctionId

The provider function identifier.

public string FunctionId { get; init; }

Property Value

string

ReturnType

The declared return type.

public TypeSymbol ReturnType { get; init; }

Property Value

TypeSymbol

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

Span TextSpan
Destination int?
FunctionId string
ReturnType TypeSymbol
Arguments IReadOnlyList<int>

Equals(IrInstruction?)

public override sealed bool Equals(IrInstruction? other)

Parameters

other IrInstruction

Returns

bool

Equals(ProviderCall?)

public bool Equals(IrInstruction.ProviderCall? other)

Parameters

other IrInstruction.ProviderCall

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected override bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(ProviderCall?, ProviderCall?)

public static bool operator ==(IrInstruction.ProviderCall? left, IrInstruction.ProviderCall? right)

Parameters

left IrInstruction.ProviderCall
right IrInstruction.ProviderCall

Returns

bool

operator !=(ProviderCall?, ProviderCall?)

public static bool operator !=(IrInstruction.ProviderCall? left, IrInstruction.ProviderCall? right)

Parameters

left IrInstruction.ProviderCall
right IrInstruction.ProviderCall

Returns

bool