test/langtools/tools/javac/patterns/BindingsTest2.java
author jlahoda
Wed, 27 Nov 2019 09:00:01 +0100
changeset 59285 7799a51dbe30
permissions -rw-r--r--
8231826: Implement javac changes for pattern matching for instanceof Reviewed-by: mcimadamore Contributed-by: brian.goetz@oracle.com, gavin.bierman@oracle.com, maurizio.cimadamore@oracle.com, srikanth.adayapalam@oracle.com, vicente.romero@oracle.com, jan.lahoda@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59285
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     1
/*
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     3
 * @bug 8231827
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     4
 * @summary Ensure that scopes arising from conditionalExpressions are handled corrected.
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     5
 * @compile/fail/ref=BindingsTest2.out -XDrawDiagnostics -XDshould-stop.at=FLOW --enable-preview -source ${jdk.version} BindingsTest2.java
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     6
 */
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     7
public class BindingsTest2 {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     8
    public static boolean Ktrue() { return true; }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
     9
    public static void main(String[] args) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    10
        Object o1 = "hello";
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    11
        Integer in = 42;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    12
        Object o2 = in;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    13
        Object o3 = "there";
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    14
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    15
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    16
        if (Ktrue() ? o2 instanceof Integer x : o2 instanceof String x) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    17
            x.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    18
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    19
        if (Ktrue() ? o2 instanceof Integer x : true) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    20
            x.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    21
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    22
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    23
        if (o1 instanceof String s ? true : true) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    24
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    25
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    26
        if (o1 instanceof String s ? true : o2 instanceof Integer s) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    27
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    28
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    29
        if (o1 instanceof String s ? true : o2 instanceof Integer i) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    30
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    31
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    32
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    33
        // Test for (e1 ? e2 : e3).T contains intersect(e1.F, e2.T)
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    34
        if (!(o1 instanceof String s) ? true : true) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    35
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    36
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    37
        if (!(o1 instanceof String s) ? (o2 instanceof Integer s) : true) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    38
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    39
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    40
        if (!(o1 instanceof String s) ? (o2 instanceof Integer i) : true) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    41
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    42
            i.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    43
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    44
        if (!(o1 instanceof String s) ? (o1 instanceof String s2) : true) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    45
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    46
            s2.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    47
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    48
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    49
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    50
        // Test for (e1 ? e2 : e3).F contains intersect(e2.F, e3.F)
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    51
        if (Ktrue() ? !(o2 instanceof Integer x) : !(o1 instanceof String x)){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    52
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    53
            x.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    54
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    55
        if (Ktrue() ? !(o2 instanceof Integer x) : !(o1 instanceof String s)){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    56
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    57
            x.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    58
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    59
        if (Ktrue() ? !(o2 instanceof Integer x) : !(o2 instanceof Integer x1)){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    60
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    61
            x.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    62
            x1.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    63
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    64
        if (Ktrue() ? !(o2 instanceof Integer x) : false){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    65
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    66
            x.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    67
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    68
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    69
        // Test for (e1 ? e2 : e3).F contains intersect(e1.T, e3.F)
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    70
        if (o1 instanceof String s ? true : !(o2 instanceof Integer s)){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    71
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    72
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    73
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    74
        if (o1 instanceof String s ? true : !(o2 instanceof Integer i)){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    75
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    76
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    77
            i.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    78
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    79
        if (o1 instanceof String s ? true : !(o2 instanceof String s1)){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    80
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    81
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    82
            s1.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    83
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    84
        // Test for (e1 ? e2 : e3).F contains intersect(e1.F, e2.F)
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    85
        if (!(o1 instanceof String s) ? !(o1 instanceof String s1) : true){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    86
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    87
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    88
            s1.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    89
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    90
        if (!(o1 instanceof String s) ? !(o2 instanceof Integer s) : true){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    91
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    92
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    93
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    94
        if (!(o1 instanceof String s) ? !(o2 instanceof Integer i) : true){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    95
        } else {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    96
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    97
            i.intValue();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    98
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
    99
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   100
        // Test for e1 ? e2: e3 - include e1.T in e2
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   101
        if (o1 instanceof String s ? false : s.length()>0) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   102
            System.out.println("done");
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   103
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   104
        if (o1 instanceof String s ? false : s.intValue!=0) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   105
            System.out.println("done");
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   106
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   107
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   108
        // Test for e1 ? e2 : e3 - include e1.F in e3
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   109
        if (!(o1 instanceof String s) ? s.length()>0 : false){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   110
            System.out.println("done");
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   111
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   112
        if (!(o1 instanceof String s) ? s.intValue>0 : false){
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   113
            System.out.println("done");
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   114
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   115
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   116
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   117
            while (!(o1 instanceof String s)) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   118
                break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   119
            }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   120
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   121
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   122
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   123
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   124
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   125
            while (!(o1 instanceof String s)) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   126
                if (false) break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   127
            }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   128
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   129
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   130
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   131
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   132
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   133
            while (!(o1 instanceof String s)) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   134
                while (true);
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   135
                break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   136
            }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   137
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   138
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   139
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   140
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   141
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   142
            for (; !(o1 instanceof String s); ) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   143
                break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   144
            }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   145
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   146
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   147
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   148
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   149
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   150
            for (; !(o1 instanceof String s); ) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   151
                if (false) break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   152
            }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   153
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   154
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   155
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   156
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   157
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   158
            for (; !(o1 instanceof String s); ) {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   159
                while (true);
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   160
                break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   161
            }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   162
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   163
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   164
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   165
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   166
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   167
            do {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   168
                break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   169
            } while (!(o1 instanceof String s));
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   170
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   171
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   172
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   173
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   174
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   175
            do {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   176
                if (false) break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   177
            } while (!(o1 instanceof String s));
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   178
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   179
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   180
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   181
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   182
        {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   183
            do {
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   184
                while (true);
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   185
                break;
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   186
            } while (!(o1 instanceof String s));
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   187
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   188
            s.length();
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   189
        }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   190
    }
7799a51dbe30 8231826: Implement javac changes for pattern matching for instanceof
jlahoda
parents:
diff changeset
   191
}