langtools/test/tools/javac/flow/tests/TestCaseTry.java
author jlahoda
Tue, 19 Apr 2016 14:16:39 +0200
changeset 37638 aac00923d48e
parent 28330 d4bcdcac1211
permissions -rw-r--r--
7020499: Project Coin: improvements to try-with-resources desugaring Summary: Avoid unnecessary check for resource nullness if the resource is known to be non-null; put resource closing code in a method that is shared by multiple try-with-resources. Reviewed-by: darcy, mcimadamore, vromero
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19941
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     1
/* /nodynamiccopyright/ */
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     2
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     3
import java.io.BufferedReader;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     4
import java.io.FileReader;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     5
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     6
public class TestCaseTry {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     7
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     8
    @AliveRange(varName="o", bytecodeStart=3, bytecodeLength=8)
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
     9
    @AliveRange(varName="o", bytecodeStart=15, bytecodeLength=1)
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    10
    void m0(String[] args) {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    11
        Object o;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    12
        try {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    13
            o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    14
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    15
        } catch (RuntimeException e) {}
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    16
        o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    17
    }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    18
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    19
    @AliveRange(varName="o", bytecodeStart=3, bytecodeLength=16)
28330
d4bcdcac1211 8064857: javac generates LVT entry with length 0 for local variable
vromero
parents: 19941
diff changeset
    20
    @AliveRange(varName="o", bytecodeStart=23, bytecodeLength=8)
d4bcdcac1211 8064857: javac generates LVT entry with length 0 for local variable
vromero
parents: 19941
diff changeset
    21
    @AliveRange(varName="o", bytecodeStart=35, bytecodeLength=11)
19941
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    22
    void m1() {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    23
        Object o;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    24
        try {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    25
            o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    26
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    27
        } catch (RuntimeException e) {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    28
        }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    29
        finally {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    30
            o = "finally";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    31
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    32
        }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    33
        o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    34
    }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    35
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    36
    @AliveRange(varName="o", bytecodeStart=3, bytecodeLength=16)
28330
d4bcdcac1211 8064857: javac generates LVT entry with length 0 for local variable
vromero
parents: 19941
diff changeset
    37
    @AliveRange(varName="o", bytecodeStart=23, bytecodeLength=16)
d4bcdcac1211 8064857: javac generates LVT entry with length 0 for local variable
vromero
parents: 19941
diff changeset
    38
    @AliveRange(varName="o", bytecodeStart=43, bytecodeLength=11)
19941
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    39
    void m2() {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    40
        Object o;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    41
        try {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    42
            o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    43
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    44
        } catch (RuntimeException e) {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    45
            o = "catch";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    46
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    47
        }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    48
        finally {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    49
            o = "finally";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    50
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    51
        }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    52
        o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    53
    }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    54
37638
aac00923d48e 7020499: Project Coin: improvements to try-with-resources desugaring
jlahoda
parents: 28330
diff changeset
    55
    @AliveRange(varName="o", bytecodeStart=22, bytecodeLength=13)
aac00923d48e 7020499: Project Coin: improvements to try-with-resources desugaring
jlahoda
parents: 28330
diff changeset
    56
    @AliveRange(varName="o", bytecodeStart=53, bytecodeLength=3)
aac00923d48e 7020499: Project Coin: improvements to try-with-resources desugaring
jlahoda
parents: 28330
diff changeset
    57
    @AliveRange(varName="o", bytecodeStart=60, bytecodeLength=1)
19941
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    58
    void m3() {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    59
        Object o;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    60
        try (BufferedReader br =
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    61
                  new BufferedReader(new FileReader("aFile"))) {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    62
            o = "inside try";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    63
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    64
        } catch (Exception e) {}
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    65
        o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    66
    }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    67
37638
aac00923d48e 7020499: Project Coin: improvements to try-with-resources desugaring
jlahoda
parents: 28330
diff changeset
    68
    @AliveRange(varName="o", bytecodeStart=12, bytecodeLength=46)
aac00923d48e 7020499: Project Coin: improvements to try-with-resources desugaring
jlahoda
parents: 28330
diff changeset
    69
    @AliveRange(varName="o", bytecodeStart=62, bytecodeLength=1)
19941
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    70
    void m4() {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    71
        String o;
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    72
        try (BufferedReader br =
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    73
                  new BufferedReader(new FileReader(o = "aFile"))) {
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    74
            o = "inside try";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    75
            o.hashCode();
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    76
        } catch (Exception e) {}
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    77
        o = "";
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    78
    }
8b91e8eb2d20 7047734: javac, the LVT is not generated correctly in several scenarios
vromero
parents:
diff changeset
    79
}