src/jdk/nashorn/internal/ir/LoopNode.java

Print this page




 159     }
 160 
 161     /**
 162      * Set the test for this for node
 163      *
 164      * @param lc lexical context
 165      * @param test new test
 166      * @return same or new node depending on if test was changed
 167      */
 168     public abstract LoopNode setTest(final LexicalContext lc, final JoinPredecessorExpression test);
 169 
 170     /**
 171      * Set the control flow escapes flag for this node.
 172      * TODO  - integrate this with Lowering in a better way
 173      *
 174      * @param lc lexical context
 175      * @param controlFlowEscapes control flow escapes value
 176      * @return new loop node if changed otherwise the same
 177      */
 178     public abstract LoopNode setControlFlowEscapes(final LexicalContext lc, final boolean controlFlowEscapes);






 179 }


 159     }
 160 
 161     /**
 162      * Set the test for this for node
 163      *
 164      * @param lc lexical context
 165      * @param test new test
 166      * @return same or new node depending on if test was changed
 167      */
 168     public abstract LoopNode setTest(final LexicalContext lc, final JoinPredecessorExpression test);
 169 
 170     /**
 171      * Set the control flow escapes flag for this node.
 172      * TODO  - integrate this with Lowering in a better way
 173      *
 174      * @param lc lexical context
 175      * @param controlFlowEscapes control flow escapes value
 176      * @return new loop node if changed otherwise the same
 177      */
 178     public abstract LoopNode setControlFlowEscapes(final LexicalContext lc, final boolean controlFlowEscapes);
 179 
 180     /**
 181      * Does this loop have a LET declaration and hence require a per-iteration scope?
 182      * @return true if a per-iteration scope is required.
 183      */
 184     public abstract boolean hasPerIterationScope();
 185 }