Class IrTerminator.Branch
Transfers control according to a Boolean condition.
public sealed record IrTerminator.Branch : IrTerminator, IEquatable<IrTerminator>, IEquatable<IrTerminator.Branch>
- Inheritance
-
IrTerminator.Branch
- Implements
- Inherited Members
Constructors
Branch(TextSpan, int, int, int)
Transfers control according to a Boolean condition.
public Branch(TextSpan Span, int Condition, int TrueBlock, int FalseBlock)
Parameters
SpanTextSpanThe source span associated with the operation.
ConditionintThe slot containing the condition.
TrueBlockintThe block selected when the condition is true.
FalseBlockintThe block selected when the condition is false.
Properties
Condition
The slot containing the condition.
public int Condition { get; init; }
Property Value
EqualityContract
protected override Type EqualityContract { get; }
Property Value
FalseBlock
The block selected when the condition is false.
public int FalseBlock { get; init; }
Property Value
TrueBlock
The block selected when the condition is true.
public int TrueBlock { get; init; }
Property Value
Methods
Deconstruct(out TextSpan, out int, out int, out int)
public void Deconstruct(out TextSpan Span, out int Condition, out int TrueBlock, out int FalseBlock)
Parameters
Equals(IrTerminator?)
public override sealed bool Equals(IrTerminator? other)
Parameters
otherIrTerminator
Returns
Equals(Branch?)
public bool Equals(IrTerminator.Branch? other)
Parameters
otherIrTerminator.Branch
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 ==(Branch?, Branch?)
public static bool operator ==(IrTerminator.Branch? left, IrTerminator.Branch? right)
Parameters
leftIrTerminator.BranchrightIrTerminator.Branch
Returns
operator !=(Branch?, Branch?)
public static bool operator !=(IrTerminator.Branch? left, IrTerminator.Branch? right)
Parameters
leftIrTerminator.BranchrightIrTerminator.Branch