| // Test cases for issue 2243 |
| // https://github.com/typetools/checker-framework/issues/2243 |
| |
| import org.checkerframework.checker.tainting.qual.Tainted; |
| import org.checkerframework.checker.tainting.qual.Untainted; |
| |
| // :: error: (declaration.inconsistent.with.extends.clause) |
| public @Tainted class Issue2243 extends Y2243 {} |
| |
| // :: error: (declaration.inconsistent.with.extends.clause) |
| class ExtendsSubTypingExplicit2243 extends @Untainted X2243 {} |
| |
| class X2243 {} |
| |
| class MyClass2243 { |
| @Tainted MyClass2243() {} |
| } |
| |
| @Untainted class Y2243 extends MyClass2243 { |
| // :: error: (super.invocation) |
| @Untainted Y2243() {} |
| } |
| |
| @Untainted interface SuperClass2243 {} |
| |
| // :: error: (declaration.inconsistent.with.implements.clause) |
| @Tainted class Z2243 implements SuperClass2243 {} |
| |
| class Issue2243Test { |
| @Untainted ExtendsSubTypingExplicit2243 field; |
| @Tainted ExtendsSubTypingExplicit2243 field2; |
| } |