本文整理汇总了C#中ProcessState.JumpTo方法的典型用法代码示例。如果您正苦于以下问题:C# ProcessState.JumpTo方法的具体用法?C# ProcessState.JumpTo怎么用?C# ProcessState.JumpTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProcessState
的用法示例。
在下文中一共展示了ProcessState.JumpTo方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoInstruction
public override void DoInstruction(ExpressionMediator exm, InstructionLine func, ProcessState state)
{
LogicalLine ifJumpto = func.JumpTo;//ENDIF
//チェック済み
//if (func.IfCaseList == null)
// throw new ExeEE("IFのIF-ELSEIFリストが適正に作成されていない");
//if (func.JumpTo == null)
// throw new ExeEE("IFに対応するENDIFが設定されていない");
InstructionLine line = null;
for (int i = 0; i < func.IfCaseList.Count; i++)
{
line = func.IfCaseList[i];
if (line.IsError)
continue;
if (line.FunctionCode == FunctionCode.ELSE)
{
ifJumpto = line;
break;
}
//ExpressionArgument expArg = (ExpressionArgument)(line.Argument);
//チェック済み
//if (expArg == null)
// throw new ExeEE("IFチェック中。引数が解析されていない。", func.IfCaseList[i].Position);
//1730 ELSEIFが出したエラーがIFのエラーとして検出されていた
state.CurrentLine = line;
Int64 value = ((ExpressionArgument)(line.Argument)).Term.GetIntValue(exm);
if (value != 0)//式が真
{
ifJumpto = line;
break;
}
}
if (ifJumpto != func)//自分自身がジャンプ先ならそのまま
state.JumpTo(ifJumpto);
//state.RunningLine = null;
}