Quote:Original post by Multiverse
I'm not allowed to use any preprocessing
Thats why ;)
public class Config{ public static final int VALUE1 = 0; public static final int VALUE2 = 1; public static final int VALUE3 = 2; public static void test() { switch (VALUE1) { case VALUE2: System.out.println("final int switch statement"); default: System.out.println("nothing"); } }}
public class de.mef.auto.Config extends java.lang.Object{public static final int VALUE1;public static final int VALUE2;public static final int VALUE3;public de.mef.auto.Config(); Code: 0: aload_0 1: invokespecial #16; //Method java/lang/Object."<init>":()V 4: returnpublic static void test(); Code: 0: iconst_0 1: tableswitch{ //1 to 1 1: 20; default: 28 } 20: getstatic #23; //Field java/lang/System.out:Ljava/io/PrintStream; 23: ldc #29; //String final int switch statement 25: invokevirtual #31; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 28: getstatic #23; //Field java/lang/System.out:Ljava/io/PrintStream; 31: ldc #37; //String nothing 33: invokevirtual #31; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 36: return}
public class de.mef.auto.Config extends java.lang.Object{public static final int VALUE1;public static final int VALUE2;public static final int VALUE3;public static void test(); Code: 0: getstatic #22; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #24; //String nothing 5: invokevirtual #30; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: returnpublic de.mef.auto.Config(); Code: 0: aload_0 1: invokespecial #33; //Method java/lang/Object."<init>":()V 4: return}
Quote:In fact, I read that javac doesn't optimize