modules/ballerina-core/src/main/java/org/ballerinalang/bre/nonblocking/debugger/BLangExecutionDebugger.java
public synchronized void stepOver() {
        if (done) {
            throw new IllegalStateException("Can't Step Over. Ballerina Program execution completed.");
        } else {
            LinkedNode current = currentHaltNode;
            currentHaltNode = null;
            if (current instanceof IfElseStmt || current instanceof WhileStmt) {
                // Step Over has to goto into IfElseStmt/WhileStmt body.
                stepInToStatement = true;
            } else {
                // Currently we are stepping though statements, But this has to stop at current statement's next
                // sibling.
                LinkedNode previous = current;
                while (nextStep == null) {
                    if (previous instanceof BlockStmt) {
                        if (((BlockStmt) previous).getGotoNode() != null) {
                            // This is a callable Unit. We have to step-in here.
                            this.stepInToStatement = true;
                            break;
                        } else {
                            // This is not a callable Unit.
                            previous = previous.getParent();
                            continue;
                        }
                    }
                    if (null == previous) {
                        break;
                    } else if (previous.getNextSibling() instanceof Statement &&
                            !(previous.getNextSibling() instanceof CommentStmt)) {
                        nextStep = (Statement) previous.getNextSibling();
                        break;
                    } else {
                        previous = previous.getParent();
                    }
                }
            }
            continueExecution(current);
        }
    }
/**
     * Step Over to next sibling statement. If there is no next sibling statement, try to execute parents's next
     * sibling.
     */
Step Over to next sibling statement. If there is no next sibling statement, try to execute parents's next
sibling.
Step Over to next sibling statement . If there is no next sibling statement try to execute parents ' s next sibling .
public synchronized void stepOver() {
        if (done) {
            throw new IllegalStateException("Can't Step Over. Ballerina Program execution completed.");
        } else {
            LinkedNode current = currentHaltNode;
            currentHaltNode = null;
            if (current instanceof IfElseStmt || current instanceof WhileStmt) {
                stepInToStatement = true;
            } else {
                LinkedNode previous = current;
                while (nextStep == null) {
                    if (previous instanceof BlockStmt) {
                        if (((BlockStmt) previous).getGotoNode() != null) {
                            this.stepInToStatement = true;
                            break;
                        } else {
                            previous = previous.getParent();
                            continue;
                        }
                    }
                    if (null == previous) {
                        break;
                    } else if (previous.getNextSibling() instanceof Statement &&
                            !(previous.getNextSibling() instanceof CommentStmt)) {
                        nextStep = (Statement) previous.getNextSibling();
                        break;
                    } else {
                        previous = previous.getParent();
                    }
                }
            }
            continueExecution(current);
        }
    }
public synchronized void stepOver ( ) { if ( done ) { throw new IllegalStateException ( "Can't Step Over. Ballerina Program execution completed." ) ; } else { LinkedNode current = currentHaltNode ; currentHaltNode = null ; if ( current instanceof IfElseStmt || current instanceof WhileStmt ) { stepInToStatement = true ; } else { LinkedNode previous = current ; while ( nextStep == null ) { if ( previous instanceof BlockStmt ) { if ( ( ( BlockStmt ) previous ) . getGotoNode ( ) != null ) { this . stepInToStatement = true ; break ; } else { previous = previous . getParent ( ) ; continue ; } } if ( null == previous ) { break ; } else if ( previous . getNextSibling ( ) instanceof Statement && ! ( previous . getNextSibling ( ) instanceof CommentStmt ) ) { nextStep = ( Statement ) previous . getNextSibling ( ) ; break ; } else { previous = previous . getParent ( ) ; } } } continueExecution ( current ) ; } }
Step Over to next sibling statement.
Step Over to next sibling statement .
// Step Over has to goto into IfElseStmt/WhileStmt body. // Currently we are stepping though statements, But this has to stop at current statement's next // sibling. // This is a callable Unit. We have to step-in here. // This is not a callable Unit.