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 |