private static PCNode GeneratePCStructureForMethodWithBody(MethodInfo methodInfo, HashSet <ArmadaPC> loopHeads) { ArmadaStatement parsedBody = methodInfo.ParsedBody; PCNode endNode = new ReturningPCNode(parsedBody.EndPC); PCNode startNode = parsedBody.GeneratePCStructureForStatement(endNode, null, null, loopHeads); return(new StartingPCNode(parsedBody.StartPC, startNode)); }
public WhilePCNode(ArmadaPC i_pc, NextRoutine i_nextRoutineWhenTrue, NextRoutine i_nextRoutineWhenFalse, PCNode i_successorWhenTrue, PCNode i_successorWhenFalse) : base(i_pc) { nextRoutineWhenTrue = i_nextRoutineWhenTrue; nextRoutineWhenFalse = i_nextRoutineWhenFalse; successorWhenTrue = i_successorWhenTrue; successorWhenFalse = i_successorWhenFalse; }
public StartingPCNode(ArmadaPC i_pc, PCNode i_successor) : base(i_pc) { successor = i_successor; }
public NormalPCNode(ArmadaPC i_pc, NextRoutine i_nextRoutine, PCNode i_successor) : base(i_pc) { nextRoutine = i_nextRoutine; successor = i_successor; }