@Override protected void writeForLoopWithClosureList(ForStatement statement) { if (controller.isFastPath()) { super.writeForLoopWithClosureList(statement); } else { StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; fastPathBlocked = true; super.writeForLoopWithClosureList(statement); fastPathBlocked = oldFastPathBlock; if (fastPathData==null) return; writeFastPathPrelude(fastPathData); super.writeForLoopWithClosureList(statement); writeFastPathEpilogue(fastPathData); } }
@Override protected void writeForInLoop(ForStatement statement) { if (controller.isFastPath()) { super.writeForInLoop(statement); } else { StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; fastPathBlocked = true; super.writeForInLoop(statement); fastPathBlocked = oldFastPathBlock; if (fastPathData==null) return; writeFastPathPrelude(fastPathData); super.writeForInLoop(statement); writeFastPathEpilogue(fastPathData); } }
@Override protected void writeForInLoop(ForStatement statement) { if (controller.isFastPath()) { super.writeForInLoop(statement); } else { StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; fastPathBlocked = true; super.writeForInLoop(statement); fastPathBlocked = oldFastPathBlock; if (fastPathData==null) return; writeFastPathPrelude(fastPathData); super.writeForInLoop(statement); writeFastPathEpilogue(fastPathData); } }
@Override protected void writeForLoopWithClosureList(ForStatement statement) { if (controller.isFastPath()) { super.writeForLoopWithClosureList(statement); } else { StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; fastPathBlocked = true; super.writeForLoopWithClosureList(statement); fastPathBlocked = oldFastPathBlock; if (fastPathData==null) return; writeFastPathPrelude(fastPathData); super.writeForLoopWithClosureList(statement); writeFastPathEpilogue(fastPathData); } }