protected override void VisitBranchOnLessThanShortInstruction(BranchOnLessThanShortInstruction instruction) { ControlState.EvaluationStack.Pop(out var stackVal1, out var stackVal2); var branch = ComputeBinaryBranchOperation( stackVal1, stackVal2, (a, b) => a.Value < b.Value, (a, b) => a.Value < b.Value, (a, b) => a.Value < b.Value ); if (branch) { ControlState.Move(instruction.Offset, instruction.Label); } else { ControlState.MoveToNextInstruction(); } }
protected abstract void VisitBranchOnLessThanShortInstruction(BranchOnLessThanShortInstruction instruction);