This is the mail archive of the kawa@sources.redhat.com mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Verify error and $Mnl methods


Jocelyn Paine wrote:

>Using the binary release of 1.6.96, I'm getting a verify error when
>I run a servlet whose doGet method calls a Kawa function with argument
>types ( HttpServletRequest, HttpServletResponse, String ) and result type
>void:
> java.lang.VerifyError: (class: kb7/wsm/Control, method: doGet$Mn1 
>   signature: 
>   (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;)V)
>  Expecting to find integer on stack
>   at kb7.wsm.WSMServlet.doGet(Compiled Code)
>
>(My function is named do-get and defined in kb7.wsm.Control, as evident
>from the trace)
>
Is your do-get procedure meant to match the HttpServlet 'doGet' method?
If so, you should call it that, rather than depend on Kawa mangling to 
make them
the same.  If they are not meant to be the same, it is possible they 
might accidentally
get mangled the same.  My original name mangling would map a Scheme 
procedure
'do-get' to a method 'doGet' - see the "Mangling" section of the Kawa 
manual.  I now
tend to thing this may not be a good idea, mainly because it makes manglings
non-reversible, so now most of the things that are mangled use a simple 
encoding
of non-Java-identifier characters.  However, procedure names are still 
mangled the
old way; there may be some inconsistency you're run across.

>Any ideas? What does the compiler generate $Mnl methods for, and what's
>the integer that's expected?
>
The $Mn is the mangling for '-', so doGet$Mn1 is the mangling of 'doGet-1'.
I don't know what integer is expected.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]