You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by bu...@apache.org on 2002/07/04 23:50:29 UTC
DO NOT REPLY [Bug 10269] -
Pass3b Verifier is corrupted
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
ehaase@inf.fu-berlin.de changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |schneidp@lathanda.de
Status|NEW |ASSIGNED
------- Additional Comments From ehaase@inf.fu-berlin.de 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.<UNINITIALIZED 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.
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>