Commit 0423db16 authored by Carlos Galindo's avatar Carlos Galindo
Browse files

fix: conectar varias llamadas secuenciales en un mismo nodo

Si esto no está presente, todas las llamadas menos la primera quedan huérfanas.
parent 8ed7e50a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -220,7 +220,10 @@ public class ICFG extends Graph implements Buildable<NodeList<CompilationUnit>>
                if (va instanceof VariableAction.Movable)
                    throw new IllegalStateException("Movable outside Enter/Exit or call");
                else if (va instanceof VariableAction.CallMarker marker && marker.isEnter()) {
                    extracted.addAll(extractMovables(iterator, marker));
                    LinkedList<GraphNode<?>> callSequence = extractMovables(iterator, marker);
                    if (!extracted.isEmpty() && !ICFG.this.containsEdge(extracted.getLast(), callSequence.getFirst()))
                        addControlFlowArc(extracted.getLast(), callSequence.getFirst());
                    extracted.addAll(callSequence);
                }
            }
            // Place extracted sequence before the node