367 curExpr = new ConditionalExpressionTreeImpl(ternaryNode,
368 translateExpr(ternaryNode.getTest()),
369 translateExpr(ternaryNode.getTrueExpression()),
370 translateExpr(ternaryNode.getFalseExpression()));
371 return false;
372 }
373
374 @Override
375 public boolean enterThrowNode(final ThrowNode throwNode) {
376 curStat = new ThrowTreeImpl(throwNode,
377 translateExpr(throwNode.getExpression()));
378 return false;
379 }
380
381 @Override
382 public boolean enterTryNode(final TryNode tryNode) {
383 final List<? extends CatchNode> catchNodes = tryNode.getCatches();
384 final List<CatchTreeImpl> catchTrees = new ArrayList<>(catchNodes.size());
385 for (final CatchNode catchNode : catchNodes) {
386 catchTrees.add(new CatchTreeImpl(catchNode,
387 translateIdent(catchNode.getException()),
388 (BlockTree) translateBlock(catchNode.getBody()),
389 translateExpr(catchNode.getExceptionCondition())));
390 }
391
392 curStat = new TryTreeImpl(tryNode,
393 (BlockTree) translateBlock(tryNode.getBody()),
394 catchTrees,
395 (BlockTree) translateBlock(tryNode.getFinallyBody()));
396
397 return false;
398 }
399
400 @Override
401 public boolean enterUnaryNode(final UnaryNode unaryNode) {
402 if (unaryNode.isTokenType(TokenType.NEW)) {
403 curExpr = new NewTreeImpl(unaryNode,
404 translateExpr(unaryNode.getExpression()));
405 } else if (unaryNode.isTokenType(TokenType.YIELD) ||
406 unaryNode.isTokenType(TokenType.YIELD_STAR)) {
407 curExpr = new YieldTreeImpl(unaryNode,
|
367 curExpr = new ConditionalExpressionTreeImpl(ternaryNode,
368 translateExpr(ternaryNode.getTest()),
369 translateExpr(ternaryNode.getTrueExpression()),
370 translateExpr(ternaryNode.getFalseExpression()));
371 return false;
372 }
373
374 @Override
375 public boolean enterThrowNode(final ThrowNode throwNode) {
376 curStat = new ThrowTreeImpl(throwNode,
377 translateExpr(throwNode.getExpression()));
378 return false;
379 }
380
381 @Override
382 public boolean enterTryNode(final TryNode tryNode) {
383 final List<? extends CatchNode> catchNodes = tryNode.getCatches();
384 final List<CatchTreeImpl> catchTrees = new ArrayList<>(catchNodes.size());
385 for (final CatchNode catchNode : catchNodes) {
386 catchTrees.add(new CatchTreeImpl(catchNode,
387 translateExpr(catchNode.getException()),
388 (BlockTree) translateBlock(catchNode.getBody()),
389 translateExpr(catchNode.getExceptionCondition())));
390 }
391
392 curStat = new TryTreeImpl(tryNode,
393 (BlockTree) translateBlock(tryNode.getBody()),
394 catchTrees,
395 (BlockTree) translateBlock(tryNode.getFinallyBody()));
396
397 return false;
398 }
399
400 @Override
401 public boolean enterUnaryNode(final UnaryNode unaryNode) {
402 if (unaryNode.isTokenType(TokenType.NEW)) {
403 curExpr = new NewTreeImpl(unaryNode,
404 translateExpr(unaryNode.getExpression()));
405 } else if (unaryNode.isTokenType(TokenType.YIELD) ||
406 unaryNode.isTokenType(TokenType.YIELD_STAR)) {
407 curExpr = new YieldTreeImpl(unaryNode,
|