mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-26 03:13:40 +07:00
select from type parameter error processing (IDEA-62453)
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
import java.util.List;
|
||||
interface Builder<T> {
|
||||
T build();
|
||||
}
|
||||
|
||||
interface Test<D extends Test<D, X>, X> {
|
||||
static interface TestBuilder<D extends Test<D, X>, X> extends Builder<D> {}
|
||||
}
|
||||
|
||||
interface Algorithm<T, B extends Builder<T>> {}
|
||||
|
||||
class SelectFromVariableType<X, T extends Test<T, X>>
|
||||
implements Algorithm<T,<error descr="Cannot select from a type parameter">T</error>.TestBuilder<T, X>> {
|
||||
List<<error descr="Cannot select from a type parameter">T</error>.TestBuilder<T, X>> b;
|
||||
<error descr="Cannot select from a type parameter">T</error>.TestBuilder<T, X> b1;
|
||||
}
|
||||
+19
-1
@@ -1,3 +1,4 @@
|
||||
import java.util.List;
|
||||
class A<D> {
|
||||
abstract class C<S> {
|
||||
<T extends A> void foo(T.C<Integer> x) {
|
||||
@@ -28,4 +29,21 @@ class A1 {
|
||||
|
||||
abstract S bar();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface Builder<T> {
|
||||
T build();
|
||||
}
|
||||
|
||||
interface Test<D extends Test<D, X>, X> {
|
||||
static interface TestBuilder<D extends Test<D, X>, X> extends Builder<D> {}
|
||||
}
|
||||
|
||||
interface Algorithm<T, B extends Builder<T>> {}
|
||||
|
||||
class SelectFromVariableType<X, T extends Test<T, X>>
|
||||
implements Algorithm<T, <error descr="Cannot select from a type parameter">T</error>.TestBuilder<T, X>> {
|
||||
|
||||
List<T.TestBuilder<T, X>> b;
|
||||
T.TestBuilder<T, X> b1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user