1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
import testlib.wholeprograminference.qual.*;
public class AnnotationWithFieldTest {
private String fields;
private String emptyFields;
void testAnnotationWithFields() {
fields = getSiblingWithFields();
// :: error: (argument.type.incompatible)
expectsSiblingWithFields(fields);
}
void testAnnotationWithEmptyFields() {
emptyFields = getSiblingWithFieldsEmpty();
// :: error: (argument.type.incompatible)
expectsSiblingWithEmptyFields(emptyFields);
}
void expectsSiblingWithFields(
@SiblingWithFields(
value = {"test", "test2"},
value2 = "test3")
String s) {}
void expectsSiblingWithEmptyFields(
@SiblingWithFields(
value = {},
value2 = "")
String s) {}
String getSiblingWithFields() {
// :: warning: (cast.unsafe)
return (@SiblingWithFields(
value = {"test", "test2"},
value2 = "test3")
String)
"";
}
String getSiblingWithFieldsEmpty() {
// :: warning: (cast.unsafe)
return (@SiblingWithFields(
value = {},
value2 = "")
String)
"";
}
}
|