summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting7/DiamondNeg3.java
blob: ac66d2a1d4b7d2839088e5560a48d79fd45c13a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Neg03<U> {

    class Foo<V extends Number> {
        Foo(V x) {}
        <Z> Foo(V x, Z z) {}
    }

    void testSimple() {
        Foo<<error descr="Type parameter 'java.lang.String' is not within its bound; should extend 'java.lang.Number'">String</error>> f1 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>> f2 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<?> f3 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>> f4 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;

        Foo<<error descr="Type parameter 'java.lang.String' is not within its bound; should extend 'java.lang.Number'">String</error>> f5 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>> f6 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<?> f7 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>> f8 = new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
    }

    void testQualified_1() {
        Foo<<error descr="Type parameter 'java.lang.String' is not within its bound; should extend 'java.lang.Number'">String</error>> f1 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>> f2 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<?> f3 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>> f4 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;

        Foo<<error descr="Type parameter 'java.lang.String' is not within its bound; should extend 'java.lang.Number'">String</error>> f5 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>> f6 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<?> f7 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>> f8 = new Neg03<U>.Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
    }

    void testQualified_2(Neg03<U> n) {
        Foo<<error descr="Type parameter 'java.lang.String' is not within its bound; should extend 'java.lang.Number'">String</error>> f1 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>> f2 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<?> f3 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;
        Foo<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>> f4 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number)' in 'Neg03.Foo' cannot be applied to '(java.lang.String)'">("")</error>;

        Foo<<error descr="Type parameter 'java.lang.String' is not within its bound; should extend 'java.lang.Number'">String</error>> f5 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<<error descr="Type parameter '? extends String' is not within its bound; should extend 'java.lang.Number'">? extends String</error>> f6 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<?> f7 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
        Foo<<error descr="Type parameter '? super String' is not within its bound; should extend 'java.lang.Number'">? super String</error>> f8 = n.new Foo<><error descr="'Foo(java.lang.String & java.lang.Number, java.lang.String)' in 'Neg03.Foo' cannot be applied to '(java.lang.String, java.lang.String)'">("", "")</error>;
    }
}