When a class literal is loaded from the constant pool, the BCELifier produces not compilable code. The attached patch fixes this issue with 3 modifications:
- LDC#getValue(): when a class constant is referenced, return a correct ObjectType instance.
- PUSH: new constructor that takes an ObjectType instance and does the right thing (I hope)
- BCELFactory#createConstant(): if the constant is an ObjectType, produce the correct embedding string.