blob: f63d9c18c1eaa9ad4e21cf812d5c11ce3aedf0e5 [file] [log] [blame]
import org.checkerframework.checker.tainting.qual.Tainted;
import org.checkerframework.checker.tainting.qual.Untainted;
public class Issue3776 {
class MyInnerClass {
public MyInnerClass() {}
public MyInnerClass(@Untainted String s) {}
public MyInnerClass(int... i) {}
}
static class MyClass {
public MyClass() {}
public MyClass(@Untainted String s) {}
public MyClass(int... i) {}
}
void test(Issue3776 outer, @Tainted String tainted) {
new MyInnerClass("1") {};
this.new MyInnerClass("2") {};
new MyClass() {};
// :: error: (argument)
new MyClass(tainted) {};
new MyClass(1, 2, 3) {};
new MyClass(1) {};
new MyInnerClass() {};
// :: error: (argument)
new MyInnerClass(tainted) {};
new MyInnerClass(1) {};
new MyInnerClass(1, 2, 3) {};
this.new MyInnerClass() {};
// :: error: (argument)
this.new MyInnerClass(tainted) {};
this.new MyInnerClass(1) {};
this.new MyInnerClass(1, 2, 3) {};
outer.new MyInnerClass() {};
// :: error: (argument)
outer.new MyInnerClass(tainted) {};
outer.new MyInnerClass(1) {};
outer.new MyInnerClass(1, 2, 3) {};
}
}