Class If
Represents "if" instruction.
Assembly: WaaS.Core.dll
View Source
Declaration
[OpCode(4)]
public class If : BlockInstruction
Inheritance: System.Object -> WaaS.Models.Instruction -> WaaS.Models.BlockInstruction
Properties
Arity
Number of the values a branch to this block carries.
View Source
Declaration
public override uint Arity { get; }
Else
View Source
Declaration
public Else Else { get; }
Methods
PreValidateStackState(in ValidationContext)
Get the number of values to pop and push from the stack to validate stack depth.
View Source
Declaration
public override (uint popCount, uint pushCount) PreValidateStackState(in ValidationContext context)
Returns
System.ValueTuple<System.UInt32,System.UInt32>
Parameters
| Type | Name |
|---|---|
| WaaS.Models.ValidationContext | context |
ValidateStackState(in ValidationContext, ref ValidationBlockStackState)
Simulates stack operations to validate the stack state.
View Source
Declaration
public override void ValidateStackState(in ValidationContext context, ref ValidationBlockStackState stackState)
Parameters
| Type | Name |
|---|---|
| WaaS.Models.ValidationContext | context |
| WaaS.Models.ValidationBlockStackState | stackState |
InjectDelimiter(BlockDelimiterInstruction)
View Source
Declaration
public override void InjectDelimiter(BlockDelimiterInstruction delimiter)
Parameters
| Type | Name |
|---|---|
| WaaS.Models.BlockDelimiterInstruction | delimiter |