static Node computeFallThrough ( Node n ) { switch ( n . getToken ( ) ) { case DO : case FOR : return computeFallThrough ( n . getFirstChild ( ) ) ; case FOR_IN : case FOR_OF : case FOR_AWAIT_OF : return n . getSecondChild ( ) ; case LABEL : return computeFallThrough ( n . getLastChild ( ) ) ; default : return n ; } }
Computes the destination node of n when we want to fallthrough into the subtree of n . We don t always create a CFG edge into n itself because of DOs and FORs .