< prev index next >

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

Print this page
rev 1359 : 8080598: Javadoc warnings in Global.java after lazy initialization
Reviewed-by: lagergren, hannesw

*** 55,65 **** * That is, the block has a single LabelNode statement with the label and a block containing the * statements of the inlined finally block with the jump or return statement appended (if the finally * block was not terminal; the original jump/return is simply ignored if the finally block itself * terminates). The reason for this somewhat strange arrangement is that we didn't want to create a * separate class for the (label, BlockStatement pair) but rather reused the already available LabelNode. ! * However, if we simply used List<LabelNode> without wrapping the label nodes in an additional Block, * that would've thrown off visitors relying on BlockLexicalContext -- same reason why we never use * Statement as the type of bodies of e.g. IfNode, WhileNode etc. but rather blockify them even when they're * single statements. */ private final List<Block> inlinedFinallies; --- 55,65 ---- * That is, the block has a single LabelNode statement with the label and a block containing the * statements of the inlined finally block with the jump or return statement appended (if the finally * block was not terminal; the original jump/return is simply ignored if the finally block itself * terminates). The reason for this somewhat strange arrangement is that we didn't want to create a * separate class for the (label, BlockStatement pair) but rather reused the already available LabelNode. ! * However, if we simply used List&lt;LabelNode&gt; without wrapping the label nodes in an additional Block, * that would've thrown off visitors relying on BlockLexicalContext -- same reason why we never use * Statement as the type of bodies of e.g. IfNode, WhileNode etc. but rather blockify them even when they're * single statements. */ private final List<Block> inlinedFinallies;
< prev index next >