< prev index next >

src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IRTranslator.java

Print this page




 207     @Override
 208     public boolean enterForNode(final ForNode forNode) {
 209         if (forNode.isForIn()) {
 210             curStat = new ForInLoopTreeImpl(forNode,
 211                     translateExpr(forNode.getInit()),
 212                     translateExpr(forNode.getModify()),
 213                     translateBlock(forNode.getBody()));
 214         } else {
 215             curStat = new ForLoopTreeImpl(forNode,
 216                     translateExpr(forNode.getInit()),
 217                     translateExpr(forNode.getTest()),
 218                     translateExpr(forNode.getModify()),
 219                     translateBlock(forNode.getBody()));
 220         }
 221 
 222         return false;
 223     }
 224 
 225     @Override
 226     public boolean enterFunctionNode(final FunctionNode functionNode) {
 227         assert !functionNode.isDeclared() : "should not reach here for function declaration";
 228 
 229         final List<? extends ExpressionTree> paramTrees
 230                     = translateExprs(functionNode.getParameters());
 231         final BlockTree blockTree = (BlockTree) translateBlock(functionNode.getBody(), true);
 232         curExpr = new FunctionExpressionTreeImpl(functionNode, paramTrees, blockTree);
 233 
 234         return false;
 235     }
 236 
 237     @Override
 238     public boolean enterIdentNode(final IdentNode identNode) {
 239         curExpr = new IdentifierTreeImpl(identNode);
 240         return false;
 241     }
 242 
 243     @Override
 244     public boolean enterIfNode(final IfNode ifNode) {
 245         curStat = new IfTreeImpl(ifNode,
 246                 translateExpr(ifNode.getTest()),
 247                 translateBlock(ifNode.getPass()),




 207     @Override
 208     public boolean enterForNode(final ForNode forNode) {
 209         if (forNode.isForIn()) {
 210             curStat = new ForInLoopTreeImpl(forNode,
 211                     translateExpr(forNode.getInit()),
 212                     translateExpr(forNode.getModify()),
 213                     translateBlock(forNode.getBody()));
 214         } else {
 215             curStat = new ForLoopTreeImpl(forNode,
 216                     translateExpr(forNode.getInit()),
 217                     translateExpr(forNode.getTest()),
 218                     translateExpr(forNode.getModify()),
 219                     translateBlock(forNode.getBody()));
 220         }
 221 
 222         return false;
 223     }
 224 
 225     @Override
 226     public boolean enterFunctionNode(final FunctionNode functionNode) {
 227         assert !functionNode.isDeclared() || functionNode.isAnonymous() : "should not reach here for function declaration";
 228 
 229         final List<? extends ExpressionTree> paramTrees
 230                     = translateExprs(functionNode.getParameters());
 231         final BlockTree blockTree = (BlockTree) translateBlock(functionNode.getBody(), true);
 232         curExpr = new FunctionExpressionTreeImpl(functionNode, paramTrees, blockTree);
 233 
 234         return false;
 235     }
 236 
 237     @Override
 238     public boolean enterIdentNode(final IdentNode identNode) {
 239         curExpr = new IdentifierTreeImpl(identNode);
 240         return false;
 241     }
 242 
 243     @Override
 244     public boolean enterIfNode(final IfNode ifNode) {
 245         curStat = new IfTreeImpl(ifNode,
 246                 translateExpr(ifNode.getTest()),
 247                 translateBlock(ifNode.getPass()),


< prev index next >