jakarta-bsf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rony G. Flatscher" <Rony.Flatsc...@wu-wien.ac.at>
Subject Solved: BSF-bug with "char" as argument
Date Fri, 24 Jan 2003 21:19:34 GMT
Hi there,

while enhancing the BSF engine for Rexx and Object Rexx for BSF 2.2 
(IBM-version) first and then adapting it to BSF 2.3 (Apache-version) I 
finally traced down an error, which has been bugging me for a looong 
time and which I had filed with the bug tracking system a while ago: if 
an argument in the method signature is of type "char", then the 
appropriate method could not be found via reflection. The reason for 
this lies in "EngineUtils.callBeanMethod(...)", where the case of 
"Character" is not taken care of. Here's the diff for BSF 2.2:

-------------------------------- cut here --------------------------------
\bsf-2_2\lib\com\ibm\bsf\util>diff -w EngineUtils.java bkp\EngineUtils.java
<             } else if (args[i] instanceof Character) {
<               argTypes[i] = char.class;
-------------------------------- cut here --------------------------------

If the error is in 2.3, maybe this report helps resolve that issue there 
as well.


P.S.: In case of interest: the present adaptations use the BSF 
infrastructure to allow Rexx programs to load the JVM at runtime and 
then interact with the Java environment with the means of BSF (as if the 
Rexx program was started via BSF), in effect using all of Java as a huge 
"function" library. This allows for 100% portable Rexx programs taking 
advantage of the ubiquituousness of Java. [At the same time the ability 
to invoke Rexx programs from Java remains unchanged (actually taking 
care of the case where Java programmers forget to register Java objects 
in the BSF registry before invoking the Rexx programs via BSF; in such a 
case the Rexx engine registers those Java objects on behalf of the Java 
programmers before invoking Rexx).]

View raw message