test/tools/javac/flow/tests/TestCaseTry.java

Tue, 20 Jan 2015 14:14:33 -0800

author
vromero
date
Tue, 20 Jan 2015 14:14:33 -0800
changeset 2709
dca7f60e618d
parent 0
959103a6100f
permissions
-rw-r--r--

8064857: javac generates LVT entry with length 0 for local variable
Reviewed-by: mcimadamore, jjg

aoqi@0 1 /* /nodynamiccopyright/ */
aoqi@0 2
aoqi@0 3 import java.io.BufferedReader;
aoqi@0 4 import java.io.FileReader;
aoqi@0 5
aoqi@0 6 public class TestCaseTry {
aoqi@0 7
aoqi@0 8 @AliveRange(varName="o", bytecodeStart=3, bytecodeLength=8)
aoqi@0 9 @AliveRange(varName="o", bytecodeStart=15, bytecodeLength=1)
aoqi@0 10 void m0(String[] args) {
aoqi@0 11 Object o;
aoqi@0 12 try {
aoqi@0 13 o = "";
aoqi@0 14 o.hashCode();
aoqi@0 15 } catch (RuntimeException e) {}
aoqi@0 16 o = "";
aoqi@0 17 }
aoqi@0 18
aoqi@0 19 @AliveRange(varName="o", bytecodeStart=3, bytecodeLength=16)
vromero@2709 20 @AliveRange(varName="o", bytecodeStart=23, bytecodeLength=8)
vromero@2709 21 @AliveRange(varName="o", bytecodeStart=35, bytecodeLength=11)
aoqi@0 22 void m1() {
aoqi@0 23 Object o;
aoqi@0 24 try {
aoqi@0 25 o = "";
aoqi@0 26 o.hashCode();
aoqi@0 27 } catch (RuntimeException e) {
aoqi@0 28 }
aoqi@0 29 finally {
aoqi@0 30 o = "finally";
aoqi@0 31 o.hashCode();
aoqi@0 32 }
aoqi@0 33 o = "";
aoqi@0 34 }
aoqi@0 35
aoqi@0 36 @AliveRange(varName="o", bytecodeStart=3, bytecodeLength=16)
vromero@2709 37 @AliveRange(varName="o", bytecodeStart=23, bytecodeLength=16)
vromero@2709 38 @AliveRange(varName="o", bytecodeStart=43, bytecodeLength=11)
aoqi@0 39 void m2() {
aoqi@0 40 Object o;
aoqi@0 41 try {
aoqi@0 42 o = "";
aoqi@0 43 o.hashCode();
aoqi@0 44 } catch (RuntimeException e) {
aoqi@0 45 o = "catch";
aoqi@0 46 o.hashCode();
aoqi@0 47 }
aoqi@0 48 finally {
aoqi@0 49 o = "finally";
aoqi@0 50 o.hashCode();
aoqi@0 51 }
aoqi@0 52 o = "";
aoqi@0 53 }
aoqi@0 54
aoqi@0 55 @AliveRange(varName="o", bytecodeStart=22, bytecodeLength=38)
vromero@2709 56 @AliveRange(varName="o", bytecodeStart=103, bytecodeLength=3)
vromero@2709 57 @AliveRange(varName="o", bytecodeStart=110, bytecodeLength=1)
aoqi@0 58 void m3() {
aoqi@0 59 Object o;
aoqi@0 60 try (BufferedReader br =
aoqi@0 61 new BufferedReader(new FileReader("aFile"))) {
aoqi@0 62 o = "inside try";
aoqi@0 63 o.hashCode();
aoqi@0 64 } catch (Exception e) {}
aoqi@0 65 o = "";
aoqi@0 66 }
aoqi@0 67
aoqi@0 68 @AliveRange(varName="o", bytecodeStart=12, bytecodeLength=96)
aoqi@0 69 @AliveRange(varName="o", bytecodeStart=112, bytecodeLength=1)
aoqi@0 70 void m4() {
aoqi@0 71 String o;
aoqi@0 72 try (BufferedReader br =
aoqi@0 73 new BufferedReader(new FileReader(o = "aFile"))) {
aoqi@0 74 o = "inside try";
aoqi@0 75 o.hashCode();
aoqi@0 76 } catch (Exception e) {}
aoqi@0 77 o = "";
aoqi@0 78 }
aoqi@0 79 }

mercurial