Re: JustIce problem with
"Dave Brosius" <[email protected]> Wed, 23 Nov 2005 22:25:27 -0500
| Newsgroups | gmane.comp.jakarta.bcel.user |
|---|---|
| Message-ID | <001d01c5f0a6$b7736e80$6501a8c0@MeBigFatGuy> |
If you wouldn't mind, please post a bug to: http://issues.apache.org/bugzilla/ if you have a simple class that shows the problem, please post that too. Thanks! -dave ----- Original Message ----- From: "Mariano Achaval" <[email protected]> To: <[email protected]> Sent: Wednesday, November 23, 2005 11:55 AM Subject: JustIce problem with >I trying to use the JustIce with 1.5 classes but i get this error > > Operand of LDC or LDC_W must be one of CONSTANT_Integer, CONSTANT_Float or > CONSTANT_String, but is 'CONSTANT_Class[7](name_index = 214)'. > > I have search and this seems to be the reason > JVM spec has changed so that LDC/LDC_W can load CONSTANT_Class constants - > those > instructions are issued by the 1.5 compiler now, when you use a class > literal. > So it seems that it must be added to the options > At Pass3aVerifier > public void visitLDC(LDC o){ > indexValid(o, o.getIndex()); > Constant c = cpg.getConstant(o.getIndex()); > if (! ( (c instanceof ConstantInteger) || > (c instanceof ConstantFloat) || > (c instanceof ConstantString) ) ){ > constraintViolated(o, "Operand of LDC or LDC_W must be one of > CONSTANT_Integer, > CONSTANT_Float or CONSTANT_String, but is '"+c+"'."); > } > } > > As you can see the ConstantClass was not added > Saluts > Mariano A. > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >