src/share/classes/com/sun/tools/javac/comp/TransTypes.java

Print this page




 518         boolean enumSwitch = selsuper != null &&
 519             selsuper.tsym == syms.enumSym;
 520         Type target = enumSwitch ? erasure(tree.selector.type) : syms.intType;
 521         tree.selector = translate(tree.selector, target);
 522         tree.cases = translateCases(tree.cases);
 523         result = tree;
 524     }
 525 
 526     public void visitCase(JCCase tree) {
 527         tree.pat = translate(tree.pat, null);
 528         tree.stats = translate(tree.stats);
 529         result = tree;
 530     }
 531 
 532     public void visitSynchronized(JCSynchronized tree) {
 533         tree.lock = translate(tree.lock, erasure(tree.lock.type));
 534         tree.body = translate(tree.body);
 535         result = tree;
 536     }
 537 








 538     public void visitConditional(JCConditional tree) {
 539         tree.cond = translate(tree.cond, syms.booleanType);
 540         tree.truepart = translate(tree.truepart, erasure(tree.type));
 541         tree.falsepart = translate(tree.falsepart, erasure(tree.type));
 542         tree.type = erasure(tree.type);
 543         result = retype(tree, tree.type, pt);
 544     }
 545 
 546    public void visitIf(JCIf tree) {
 547         tree.cond = translate(tree.cond, syms.booleanType);
 548         tree.thenpart = translate(tree.thenpart);
 549         tree.elsepart = translate(tree.elsepart);
 550         result = tree;
 551     }
 552 
 553     public void visitExec(JCExpressionStatement tree) {
 554         tree.expr = translate(tree.expr, null);
 555         result = tree;
 556     }
 557 




 518         boolean enumSwitch = selsuper != null &&
 519             selsuper.tsym == syms.enumSym;
 520         Type target = enumSwitch ? erasure(tree.selector.type) : syms.intType;
 521         tree.selector = translate(tree.selector, target);
 522         tree.cases = translateCases(tree.cases);
 523         result = tree;
 524     }
 525 
 526     public void visitCase(JCCase tree) {
 527         tree.pat = translate(tree.pat, null);
 528         tree.stats = translate(tree.stats);
 529         result = tree;
 530     }
 531 
 532     public void visitSynchronized(JCSynchronized tree) {
 533         tree.lock = translate(tree.lock, erasure(tree.lock.type));
 534         tree.body = translate(tree.body);
 535         result = tree;
 536     }
 537 
 538     public void visitTry(JCTry tree) {
 539         tree.resources = translate(tree.resources, syms.autoCloseableType);
 540         tree.body = translate(tree.body);
 541         tree.catchers = translateCatchers(tree.catchers);
 542         tree.finalizer = translate(tree.finalizer);
 543         result = tree;
 544     }
 545 
 546     public void visitConditional(JCConditional tree) {
 547         tree.cond = translate(tree.cond, syms.booleanType);
 548         tree.truepart = translate(tree.truepart, erasure(tree.type));
 549         tree.falsepart = translate(tree.falsepart, erasure(tree.type));
 550         tree.type = erasure(tree.type);
 551         result = retype(tree, tree.type, pt);
 552     }
 553 
 554    public void visitIf(JCIf tree) {
 555         tree.cond = translate(tree.cond, syms.booleanType);
 556         tree.thenpart = translate(tree.thenpart);
 557         tree.elsepart = translate(tree.elsepart);
 558         result = tree;
 559     }
 560 
 561     public void visitExec(JCExpressionStatement tree) {
 562         tree.expr = translate(tree.expr, null);
 563         result = tree;
 564     }
 565