Class If
Represents "if" instruction.
Assembly: WaaS.Core.dll
Declaration
[OpCode(4)]
public class If : BlockInstruction
Inheritance: System.Object -> WaaS.Models.Instruction -> WaaS.Models.BlockInstruction
Properties
Arity
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 |
OnBeforeBlockEnter(WasmStackFrame, out uint)
View Source
Declaration
protected override void OnBeforeBlockEnter(WasmStackFrame current, out uint continuationIndex)
Parameters
| Type | Name |
|---|---|
| WaaS.Runtime.WasmStackFrame | current |
System.UInt32 | continuationIndex |
InjectDelimiter(BlockDelimiterInstruction)
View Source
Declaration
public override void InjectDelimiter(BlockDelimiterInstruction delimiter)
Parameters
| Type | Name |
|---|---|
| WaaS.Models.BlockDelimiterInstruction | delimiter |