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 |