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