The limitation is inherit in the object format/ instruction set, you can find some previous discussions at http://forum.world.st/Max-source-method-length-Max-string-length-Max-change-set-size-td3531169.html#a3535281 and http://forum.world.st/More-than-256-literals-referenced-td4676669.html#a4676972
One alternative is to change the compiler to create a literal array to hold all literals > 255 and rewrite accesses to indexes above 254 as something like genPushLiteral: 255 pushLiteral #at: pushConst: X messageSend , but as long as we're talking about a single digit number of cases, and not translating 200+ UI specs, it is probably a lot easier (albeit, maybe a little slower) to rewrite the code in a way which works in both dialects without using a large number of literals, say: MyClass class >> #initializeStaticVals dict := Dictionary new. initializerPairs := #( Key1 2 Key2 4 ). 1 to: initializerPairs size by: 2 do: [:ix | dict at: (initializerPairs at: ix) put: (initializerPairs at: ix +1)]. MyClassVar := dict. (Haven't seen a support layer package for VA, sorry) Cheers, Henry -- View this message in context: http://forum.world.st/Problem-compiling-method-source-genPushLiteral-out-of-range-tp4961986p4962020.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.