Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
5.1
-
None
Description
Run "java -cp .;bcel-5.1.jar org.apache.bcel.verifier.Verifier j00000.class",
where j00000.class is a hand-made class file that contains some errors (that I'm trying to identify).
JustIce ends with a ClassCastException.
The output from the verifier is:
JustIce by Enver Haase, (C) 2001-2002.
<http://bcel.sourceforge.net>
<http://jakarta.apache.org/bcel>
Now verifying: j00000
Pass 1:
VERIFIED_OK
Passed verification.
Pass 2:
VERIFIED_OK
Passed verification.
Pass 3a, method number 0 ['public void <init>()']:
VERIFIED_OK
Passed verification.
Visiting non-standard Signature object
Visiting non-standard Signature object
Visiting non-standard Signature object
Visiting non-standard Signature object
Visiting non-standard Signature object
Visiting non-standard Signature object
Visiting non-standard Signature object
Visiting non-standard Signature object
Pass 3b, method number 0 ['public void <init>()']:
VERIFIED_OK
Passed verification.
Exception in thread "main" java.lang.ClassCastException: org.apache.bcel.classfi
le.ConstantUtf8
at org.apache.bcel.generic.FieldOrMethod.getClassName(FieldOrMethod.java
:102)
at org.apache.bcel.generic.FieldOrMethod.getClassType(FieldOrMethod.java
:109)
at org.apache.bcel.generic.FieldOrMethod.getLoadClassType(FieldOrMethod.
java:115)
at org.apache.bcel.verifier.statics.Pass3aVerifier$InstOperandConstraint
Visitor.visitLoadClass(Pass3aVerifier.java:430)
at org.apache.bcel.generic.GETSTATIC.accept(GETSTATIC.java:107)
at org.apache.bcel.generic.InstructionHandle.accept(InstructionHandle.ja
va:282)
at org.apache.bcel.verifier.statics.Pass3aVerifier.pass3StaticInstructio
nOperandsChecks(Pass3aVerifier.java:364)
at org.apache.bcel.verifier.statics.Pass3aVerifier.do_verify(Pass3aVerif
ier.java:160)
at org.apache.bcel.verifier.PassVerifier.verify(PassVerifier.java:108)
at org.apache.bcel.verifier.Verifier.doPass3a(Verifier.java:121)
at org.apache.bcel.verifier.Verifier.main(Verifier.java:263)