DO NOT REPLY [Bug 10269] - Pass3b Verifier is corrupted
| Newsgroups | gmane.comp.jakarta.bcel.devel |
|---|---|
| Message-ID | <[email protected]> |
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10269>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10269 Pass3b Verifier is corrupted [email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] Status|NEW |ASSIGNED ------- Additional Comments From [email protected] 2002-07-04 21:50 ------- This is not a "simple" bug. Interfaces implemented directly are NOTforgotten.---------import org.apache.bcel.*;import org.apache.bcel.classfile.*; public class Test{public static void main(String[] args){ JavaClass a = Repository.lookupClass("A"); JavaClass c = Repository.lookupClass("B"); System.out.println(a.implementationOf(c));}}-------This program prints "true"; and JavaClass.implementationOf()is what the static Repository methods are mapped to.The original test program lets the VERIFIER fail, it hasa bug in its pass 3b implementation:----------------Pass 3b, method number 0 ['void <init>()']:VERIFIED_REJECTEDConstraint violated in method 'void <init>()':Instruction INVOKESPECIAL constraint violated: The 'objref' item '<UNINITIALIZED OBJECT OF TYPE 'A'>' does not implement 'java.lang.Object' as expected.InstructionHandle: 1: invokespecial[183](3) 1 Execution Frame:Local Variables:0: <UNINITIALIZED OBJECT OF TYPE 'A'>OperandStack:Slots used: 1 MaxStack: 1.<UN INITIALIZED OBJECT OF TYPE 'A'> (Size: 1)Execution flow: 0: aload_0 [InstructionContext] 1: invokespecial 1 [InstructionContext]-----------------Problem is that the JVM spec 4.9.4 mentions UNINITIALIZEDobjects as a special type, and this type indeed does notimplement any interfaces.