| class TestOnRawType { |
| public static void main(String[] args) { |
| new FooGenerator().process(TestOnRawType.class); |
| new FooGenerator().process(AFoo.class); |
| new FooGenerator().process(MFoo.class); |
| new FooGenerator<String>().process<error descr="'process(java.lang.Class<TestOnRawType.AFoo>)' in 'TestOnRawType.FooGenerator' cannot be applied to '(java.lang.Class<TestOnRawType>)'">(TestOnRawType.class)</error>; |
| new FooGenerator<String>().process(AFoo.class); |
| new FooGenerator<String>().process<error descr="'process(java.lang.Class<TestOnRawType.AFoo>)' in 'TestOnRawType.FooGenerator' cannot be applied to '(java.lang.Class<TestOnRawType.MFoo>)'">(MFoo.class)</error>; |
| } |
| |
| static class AFoo {} |
| static class MFoo extends AFoo {} |
| static class FooGenerator<T> { |
| public void process(Class<AFoo> cls) { |
| } |
| } |
| } |
| |
| class TestNonGenericType { |
| public static void main(String[] args) { |
| new FooGenerator().process<error descr="'process(java.lang.Class<TestNonGenericType.AFoo>)' in 'TestNonGenericType.FooGenerator' cannot be applied to '(java.lang.Class<TestNonGenericType>)'">(TestNonGenericType.class)</error>; |
| new FooGenerator().process(AFoo.class); |
| new FooGenerator().process<error descr="'process(java.lang.Class<TestNonGenericType.AFoo>)' in 'TestNonGenericType.FooGenerator' cannot be applied to '(java.lang.Class<TestNonGenericType.MFoo>)'">(MFoo.class)</error>; |
| } |
| |
| static class AFoo {} |
| static class MFoo extends AFoo {} |
| static class FooGenerator { |
| public void process(Class<AFoo> cls) { |
| } |
| } |
| } |