Beispiel #1
0
        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));
        }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 public StartingPCNode(ArmadaPC i_pc, PCNode i_successor) : base(i_pc)
 {
     successor = i_successor;
 }
Beispiel #4
0
 public NormalPCNode(ArmadaPC i_pc, NextRoutine i_nextRoutine, PCNode i_successor) : base(i_pc)
 {
     nextRoutine = i_nextRoutine;
     successor   = i_successor;
 }