Observation:
Switch satements are compiled space inefficiently for lare case spans. E.g:
//--------------------------------
switch(var) {
case -10000: ....; break;
case 10000: ....; break;
}
//---------------------------------
Compiles to a large amount of bytecode. For larger spans of cases the class is beyond the 64k limit and fails to be loaded into jvm.
Assumption:
Large switch statements are compiled only to the linear switch opcode (tableswitch).
The mapped version of switch (lookupswitch) is not used.
compiles to a class file of 517 bytes.
What version of JANINO are you using? What is the precise content of your source file? How do you compile it (Compiler, ScriptEvaluator, ...) ?