Fields are not "virtual" in java, you must specify "AbstractXMLSource" as
declaring class not test_xml


----- Original Message -----
From: "Berin Loritsch" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, March 23, 2003 5:21 AM
Subject: Re: How do you convert a JavaClass to a regular Class object?


> Juozas Baliuka wrote:
> > We use this in cglib without problems on sun jdk implementations,
> > reflection is used to invoke protected method,
> > but it is possible to extend ClassLoader and call this method "normal"
way
> > if you do not need  to cast generated classes
> > or accsess superclass loaded by different classloaders.
>
> I am extending a classloader to add in the new classes.  It seems to
> work OK, but I need to solve another problem.
>
> The problem according to JustIce is this:
>
> Instruction getfield[180](3) 18 constraint violated: Referenced field
> 'm_contentHandler' does not exist in class 'test_xml'.
>
>
> The class that "test_xml" is a generated as a subclass of
> AbstractXMLSource--which has m_contentHandler as a protected
> member.
>
>
> The generated class provides me the following error
> from the classloader:
>
> -----------------------------------------------------
>
> Compiling an XMLSource from an XML file
> Printing the XMLSource out
> Exception in thread "main" java.lang.VerifyError: (class: test_xml,
> method: parse signature: ()V) Incompatible type for getting or setting
field
>          at java.lang.Class.getDeclaredConstructors0(Native Method)
>          at
java.lang.Class.privateGetDeclaredConstructors(Class.java:1590)
>          at java.lang.Class.getConstructor0(Class.java:1762)
>          at java.lang.Class.newInstance0(Class.java:276)
>          at java.lang.Class.newInstance(Class.java:259)
>          at org.d_haven.bxml.compiler.Main.main(Main.java:70)
>
> -----------------------------------------------------
>
> Using JustIce, I get this:
>
>
> JustIce by Enver Haase, (C) 2001-2002.
> <http://bcel.sourceforge.net>
> <http://jakarta.apache.org/bcel>
>
> Now verifying: test_xml
>
> Pass 1:
> VERIFIED_OK
> Passed verification.
>
> Pass 2:
> VERIFIED_OK
> Passed verification.
>
> Pass 3a, method number 0 ['public void <init>()']:
> VERIFIED_OK
> Passed verification.
>
> Pass 3b, method number 0 ['public void <init>()']:
> VERIFIED_OK
> Passed verification.
>
> Pass 3a, method number 1 ['public void parse()
>                  throws org.xml.sax.SAXException']:
> VERIFIED_REJECTED
> Instruction getfield[180](3) 18 constraint violated: Referenced field
> 'm_contentHandler' does not exist in class 'test_xml'.
>
> Pass 3b, method number 1 ['public void parse()
>                  throws org.xml.sax.SAXException']:
> VERIFIED_NOTYET
> Not yet verified.
>
> Pass 3a, method number 2 ['static void <clinit>()']:
> VERIFIED_OK
> Passed verification.
>
> Pass 3b, method number 2 ['static void <clinit>()']:
> VERIFIED_OK
> Passed verification.
>
> Warnings:
> Pass 2: Attribute '<LocalVariableTable: LocalVariable(start_pc = 0,
> length = 5,
> index = 0:test_xml this)>' as an attribute of Code attribute '<CODE>'
> (method 'public void <init>()') will effectively be ignored and is only
> useful for debuggers and such.
> Pass 2: Attribute '<LocalVariableTable: LocalVariable(start_pc = 0,
> length = 101
> , index = 0:test_xml this)>' as an attribute of Code attribute '<CODE>'
> (method
> 'public void parse()
>                  throws org.xml.sax.SAXException') will effectively be
> ignored and is only useful for debuggers and such.
> Pass 2: Class or interface initialization method 'static void
> <clinit>()' has superfluous access modifier(s) set: everything but
> ACC_STRICT is ignored.
> Pass 2: SourceFile attribute 'SourceFile(test.xml)' has a funny name:
> remember not to confuse certain parsers working on javap's output. Also,
> this name ('test.xml') is considered an unqualified (simple) file name
only.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to