langtools/test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass3.java
author jjg
Tue, 15 Oct 2013 15:57:13 -0700
changeset 21041 99f5e5e97425
child 24895 dd091d389fbf
permissions -rw-r--r--
8026564: import changes from type-annotations forest Reviewed-by: jjg Contributed-by: wdietl@gmail.com, steve.sides@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21041
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     1
/*
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     3
 * @bug 8006733 8006775
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     4
 * @summary Ensure behavior for nested types is correct.
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     5
 * @author Werner Dietl
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     6
 * @ignore
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     7
 * @compile/fail/ref=CantAnnotateStaticClass3.out -XDrawDiagnostics CantAnnotateStaticClass3.java
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     8
 */
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
     9
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    10
import java.util.List;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    11
import java.util.ArrayList;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    12
import java.util.HashMap;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    13
import java.lang.annotation.*;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    14
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    15
class Top {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    16
    @Target(ElementType.TYPE_USE)
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    17
    @interface TA {}
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    18
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    19
    @Target(ElementType.TYPE_USE)
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    20
    @interface TB {}
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    21
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    22
    @Target(ElementType.TYPE_USE)
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    23
    @interface TC {}
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    24
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    25
    interface Outer {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    26
        class Inner {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    27
            // Object o1 = Top.this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    28
            // Object o2 = Outer.this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    29
            Object o3 = this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    30
        }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    31
        static class SInner {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    32
            // Object o1 = Top.this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    33
            // Object o2 = Outer.this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    34
            Object o3 = this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    35
        }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    36
        interface IInner {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    37
            // Object o1 = Top.this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    38
            // Object o2 = Outer.this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    39
            // Object o3 = this;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    40
        }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    41
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    42
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    43
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    44
    @TB Outer f1;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    45
    @TB Outer.Inner f1a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    46
    @TB Outer.SInner f2a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    47
    @TB Outer.IInner f3a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    48
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    49
    Outer. @TC Inner f1b;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    50
    Outer. @TC SInner f2b;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    51
    Outer. @TC IInner f3b;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    52
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    53
    @TB Outer. @TC Inner f1c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    54
    @TB Outer. @TC SInner f2c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    55
    @TB Outer. @TC IInner f3c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    56
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    57
    @TA Top. @TB Outer g1; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    58
    @TA Top. @TB Outer.Inner g1a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    59
    @TA Top. @TB Outer.SInner g2a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    60
    @TA Top. @TB Outer.IInner g3a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    61
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    62
    @TA Top. Outer. @TC Inner g1b; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    63
    @TA Top. Outer. @TC SInner g2b; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    64
    @TA Top. Outer. @TC IInner g3b; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    65
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    66
    @TA Top. @TB Outer. @TC Inner g1c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    67
    @TA Top. @TB Outer. @TC SInner g2c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    68
    @TA Top. @TB Outer. @TC IInner g3c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    69
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    70
    @TB Outer f1r() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    71
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    72
    @TB Outer.Inner f1ra() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    73
    @TB Outer.SInner f2ra() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    74
    @TB Outer.IInner f3ra() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    75
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    76
    Outer. @TC Inner f1rb() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    77
    Outer. @TC SInner f2rb() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    78
    Outer. @TC IInner f3rb() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    79
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    80
    @TB Outer. @TC Inner f1rc() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    81
    @TB Outer. @TC SInner f2rc() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    82
    @TB Outer. @TC IInner f3rc() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    83
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    84
    void f1param(@TB Outer p,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    85
            @TB Outer.Inner p1, // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    86
            Outer. @TC Inner p2,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    87
            @TB Outer. @TC Inner p3) { } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    88
    void f2param(@TB Outer p,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    89
            @TB Outer.SInner p1, // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    90
            Outer. @TC SInner p2,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    91
            @TB Outer. @TC SInner p3) { } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    92
    void f3param(@TB Outer p,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    93
            @TB Outer.IInner p1, // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    94
            Outer. @TC IInner p2,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    95
            @TB Outer. @TC IInner p3) { } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    96
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    97
    void f1cast(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    98
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
    99
        l = (@TB Outer) o;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   100
        l = (@TB Outer.Inner) o; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   101
        l = (Outer. @TC Inner) o;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   102
        l = (@TB Outer. @TC Inner) o; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   103
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   104
    void f2cast(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   105
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   106
        l = (@TB Outer) o;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   107
        l = (@TB Outer.SInner) o; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   108
        l = (Outer. @TC SInner) o;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   109
        l = (@TB Outer. @TC SInner) o; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   110
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   111
    void f3cast(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   112
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   113
        l = (@TB Outer) o;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   114
        l = (@TB Outer.IInner) o; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   115
        l = (Outer. @TC IInner) o;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   116
        l = (@TB Outer. @TC IInner) o; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   117
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   118
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   119
    List<@TB Outer> h1;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   120
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   121
    List<@TB Outer.Inner> h1a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   122
    List<@TB Outer.SInner> h2a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   123
    List<@TB Outer.IInner> h3a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   124
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   125
    List<Outer. @TC Inner> h1b;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   126
    List<Outer. @TC SInner> h2b;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   127
    List<Outer. @TC IInner> h3b;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   128
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   129
    List<@TB Outer. @TC Inner> h1c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   130
    List<@TB Outer. @TC SInner> h2c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   131
    List<@TB Outer. @TC IInner> h3c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   132
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   133
    List<@TA Top. @TB Outer> k1; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   134
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   135
    List<@TA Top. @TB Outer.Inner> k1a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   136
    List<@TA Top. @TB Outer.SInner> k2a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   137
    List<@TA Top. @TB Outer.IInner> k3a; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   138
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   139
    List<@TA Top. Outer. @TC Inner> k1b; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   140
    List<@TA Top. Outer. @TC SInner> k2b; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   141
    List<@TA Top. Outer. @TC IInner> k3b; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   142
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   143
    List<@TA Top. @TB Outer. @TC Inner> k1c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   144
    List<@TA Top. @TB Outer. @TC SInner> k2c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   145
    List<@TA Top. @TB Outer. @TC IInner> k3c; // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   146
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   147
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   148
    List<@TB Outer> g1r() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   149
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   150
    List<@TB Outer.Inner> g1ra() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   151
    List<@TB Outer.SInner> g2ra() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   152
    List<@TB Outer.IInner> g3ra() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   153
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   154
    List<Outer. @TC Inner> g1rb() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   155
    List<Outer. @TC SInner> g2rb() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   156
    List<Outer. @TC IInner> g3rb() { return null; }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   157
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   158
    List<@TB Outer. @TC Inner> g1rc() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   159
    List<@TB Outer. @TC SInner> g2rc() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   160
    List<@TB Outer. @TC IInner> g3rc() { return null; } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   161
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   162
    void g1param(List<@TB Outer> p,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   163
            List<@TB Outer.Inner> p1, // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   164
            List<Outer. @TC Inner> p2,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   165
            List<@TB Outer. @TC Inner> p3) { } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   166
    void g2param(List<@TB Outer> p,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   167
            List<@TB Outer.SInner> p1, // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   168
            List<Outer. @TC SInner> p2,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   169
            List<@TB Outer. @TC SInner> p3) { } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   170
    void g3param(List<@TB Outer> p,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   171
            List<@TB Outer.IInner> p1, // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   172
            List<Outer. @TC IInner> p2,
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   173
            List<@TB Outer. @TC IInner> p3) { } // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   174
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   175
    void g1new(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   176
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   177
        l = new @TB ArrayList<@TB Outer>();
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   178
        l = new @TB ArrayList<@TB Outer.Inner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   179
        l = new @TB HashMap<String, Outer. @TC Inner>();
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   180
        l = new @TB HashMap<String, @TB Outer. Inner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   181
        l = new @TB HashMap<String, @TB Outer. @TC Inner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   182
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   183
    void g2new(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   184
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   185
        l = new @TB ArrayList<@TB Outer>();
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   186
        l = new @TB ArrayList<@TB Outer.SInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   187
        l = new @TB HashMap<String, Outer. @TC SInner>();
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   188
        l = new @TB HashMap<String, @TB Outer. SInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   189
        l = new @TB HashMap<String, @TB Outer. @TC SInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   190
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   191
    void g3new(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   192
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   193
        l = new @TB ArrayList<@TB Outer>();
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   194
        l = new @TB ArrayList<@TB Outer.IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   195
        l = new @TB HashMap<String, Outer. @TC IInner>();
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   196
        l = new @TB HashMap<String, @TB Outer. IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   197
        l = new @TB HashMap<String, @TB Outer. @TC IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   198
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   199
    void g4new(Object o) {
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   200
        Object l;
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   201
        l = new @TB ArrayList<@TA Top. @TB Outer>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   202
        l = new @TB ArrayList<@TA Top. @TB Outer.IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   203
        l = new @TB HashMap<String, @TA Top. Outer. @TC IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   204
        l = new @TB HashMap<String, @TA Top. @TB Outer. IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   205
        l = new @TB HashMap<String, @TA Top. @TB Outer. @TC IInner>(); // err
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   206
    }
99f5e5e97425 8026564: import changes from type-annotations forest
jjg
parents:
diff changeset
   207
}