blob: 7bd63969acb28744731d7389a427880b39e2252e [file] [log] [blame]
import org.checkerframework.checker.interning.qual.Interned;
public class Creation {
@Interned Foo[] a = new @Interned Foo[22]; // valid
class Foo {}
@Interned Foo[] fa_field1 = new @Interned Foo[22]; // valid
@Interned Foo[] fa_field2 = new @Interned Foo[22]; // valid
public void test() {
// :: error: (assignment)
@Interned Foo f = new Foo(); // error
Foo g = new Foo(); // valid
// :: warning: (cast.unsafe.constructor.invocation)
@Interned Foo h = new @Interned Foo(); // valid
// :: error: (not.interned)
boolean b = (f == g); // error
@Interned Foo[] fa1 = new @Interned Foo[22]; // valid
@Interned Foo[] fa2 = new @Interned Foo[22]; // valid
}
public @Interned Object read_data_0() {
// :: error: (return)
return new Object();
}
public @Interned Object read_data_1() {
// :: error: (return)
return Integer.valueOf(22);
}
public @Interned Integer read_data_2() {
// :: error: (return)
return Integer.valueOf(22);
}
public @Interned Object read_data_3() {
// :: error: (return)
return new String("hello");
}
public @Interned String read_data_4() {
// :: error: (return)
return new String("hello");
}
}