blob: f6d251c043cea090545e8a62d3674a47b7545d07 [file] [log] [blame]
// Test case for Issue 103
import java.util.ArrayList;
import java.util.List;
class CC {}
class HR {}
// Crazy: remove the "extends HR" and it compiles
public class Bug103 extends HR {
// Crazy: add a 23th element as for example "hello" and it compiles
// Crazy: replace IG.C with IG.C+"" and it compiles
// Crazy: remove final and it compiles
// Crazy: replace with new String[22] and it compiles
// Crazy: reduce to less than 5 distinct values and it compiles (replace IG.D with IG.C)
final String[] ids = {
IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C, IG.C,
IG.C, IG.C, IG.D, IG.E, IG.F, IG.G
};
// Crazy: remove arg u and it compiles
// Crazy: remove any line of m1 and it compiles
// Crazy: replace two o args by null and it compiles
void m1(CC o, Object u) {
String cc = m2(o);
String dd = m2(o);
}
String m2(final CC c) {
return "a";
}
// Crazy: remove ids.length and it compiles
// replace return type List with ArrayList and it compiles
List<CC> m3(CC c) {
ArrayList<CC> lc = new ArrayList<>(ids.length);
return lc;
}
// Crazy: comment out the whole unused LV class and it compiles
// Crazy: comment one of the following 4 lines out and it compiles
static class LV {
static String a = "a";
static String b = "a";
static String c = "a";
static String d = "a";
}
class IG {
// Crazy: comment one of the following 8 lines out and it compiles
String C1 = "1";
String C2 = "1";
String C3 = "1";
String C4 = "1";
String C5 = "1";
String C6 = "1";
String C7 = "1";
String C8 = "1";
static final String C = "c";
static final String D = C;
static final String E = C;
static final String F = C;
// Crazy: comment one of the following 18 lines out and it compiles
static final String G = C;
static final String H = C;
static final String I = C;
static final String J = C;
static final String K = C;
static final String L = C;
static final String M = C;
static final String N = C;
static final String O = C;
static final String P = C;
static final String Q = C;
static final String R = C;
static final String S = C;
static final String T = C;
static final String U = C;
static final String V = C;
static final String W = C;
static final String X = C;
}
}