private static void closeSequence(final StackStateWalker ringBufferConsumer) { if (--ringBufferConsumer.seqStackHead>=0) { if (isClosingSequence(ringBufferConsumer.from.tokens[ringBufferConsumer.nextCursor ])) { if (--ringBufferConsumer.seqStack[ringBufferConsumer.seqStackHead]>0) { ringBufferConsumer.nextCursor = ringBufferConsumer.seqCursors[ringBufferConsumer.seqStackHead]; } else { --ringBufferConsumer.seqStackHead;//this dec is the same as the one in the above conditional //TODO:BB, Note this repeating pattern above, this supports 2 nested sequences, Rewrite as while loop to support any number of nested sequences. ringBufferConsumer.nextCursor++; } } } else { assert(ringBufferConsumer.seqStackHead<0) : "Error the seqStack should be empty but found value at "+ringBufferConsumer.seqStackHead; ringBufferConsumer.nextCursor++; } }
private static void closeSequence(final StackStateWalker ringBufferConsumer) { if (--ringBufferConsumer.seqStackHead>=0) { if (isClosingSequence(ringBufferConsumer.from.tokens[ringBufferConsumer.nextCursor ])) { if (--ringBufferConsumer.seqStack[ringBufferConsumer.seqStackHead]>0) { ringBufferConsumer.nextCursor = ringBufferConsumer.seqCursors[ringBufferConsumer.seqStackHead]; } else { --ringBufferConsumer.seqStackHead;//this dec is the same as the one in the above conditional //TODO:BB, Note this repeating pattern above, this supports 2 nested sequences, Rewrite as while loop to support any number of nested sequences. ringBufferConsumer.nextCursor++; } } } else { assert(ringBufferConsumer.seqStackHead<0) : "Error the seqStack should be empty but found value at "+ringBufferConsumer.seqStackHead; ringBufferConsumer.nextCursor++; } }
private static void closeSequence(final StackStateWalker ringBufferConsumer) { if (--ringBufferConsumer.seqStackHead>=0) { if (isClosingSequence(ringBufferConsumer.from.tokens[ringBufferConsumer.nextCursor ])) { if (--ringBufferConsumer.seqStack[ringBufferConsumer.seqStackHead]>0) { ringBufferConsumer.nextCursor = ringBufferConsumer.seqCursors[ringBufferConsumer.seqStackHead]; } else { --ringBufferConsumer.seqStackHead;//this dec is the same as the one in the above conditional //TODO:BB, Note this repeating pattern above, this supports 2 nested sequences, Rewrite as while loop to support any number of nested sequences. ringBufferConsumer.nextCursor++; } } } else { assert(ringBufferConsumer.seqStackHead<0) : "Error the seqStack should be empty but found value at "+ringBufferConsumer.seqStackHead; ringBufferConsumer.nextCursor++; } }