[PATCH] RMI patches

Carlos Valiente kaffe@rufus.w3.org
Sat, 14 Jul 2001 19:53:06 +0200



--------------Boundary-00=_IO5HTI4YVTLYM4O0Q3SY
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

Here's a little patch for RMI under kaffe:

- kjc cannot compile the generated XXXX_Skel.java file. That file contains a 
fragment which looks like this:

         XXXX $param_0;
         try {
                 $param_0 = ...
         }
         catch {
                 ...
         }
         int result = server.YYYYYY($param_0)

kjc complains about "Local variable "$param_0" may have not been initialized 
before use [JLS 14.4]". This patch makes RMIC generate 'XXXX $param_0 = 
null'  instead, and the problem is solved.

- The 'rmic' script now supports the '-J' switch. Options prefixed with 'J' 
will be passed to the virtual machine which executes kaffe.rmi.rmic.RMIC, 
just like Sun's rmic. The main benefit from this patch is being able to use 
'jikes' as compiler for the generated stubs and skeletons; something like 
this:

         rmic -J-Dkaffe.compiler=jikes YourObjectImpl

, which greatly accelerates development cycles!

The new 'rmic' script works well under 'bash'  and makes use of GNU expr. I 
haven't tested it under any other shell.
--------------Boundary-00=_IO5HTI4YVTLYM4O0Q3SY
Content-Type: text/plain;
  charset="iso-8859-1";
  name="kaffe-rmi-1.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="kaffe-rmi-1.diff"

SW5kZXg6IGthZmZlL3NjcmlwdHMvcm1pYy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL2th
ZmZlL2thZmZlL2thZmZlL3NjcmlwdHMvcm1pYy5pbix2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40
CmRpZmYgLXUgLXIxLjQgcm1pYy5pbgotLS0ga2FmZmUvc2NyaXB0cy9ybWljLmluCTE5OTkvMTAv
MDkgMTk6NTY6MzgJMS40CisrKyBrYWZmZS9zY3JpcHRzL3JtaWMuaW4JMjAwMS8wNy8xNCAxNzo0
Mzo0NApAQCAtMSw1ICsxLDE2IEBACiAjISAvYmluL3NoCisKK2ZvciBpIGluICIkQCIKK2RvCisJ
T1BUSU9OPWBleHByICRpIDogJ1wtSlwoLlwrXCknYAorCWlmIHRlc3QgIngkT1BUSU9OIiA9PSAi
eCI7IHRoZW4KKwkJUk1JQ19BUkdTPSIkUk1JQ19BUkdTICRpIgorCWVsc2UKKwkJSkFWQV9PUFRJ
T05TPSIkSkFWQV9PUFRJT05TICRPUFRJT04iCisJZmkKK2RvbmUKKworCiBwcmVmaXg9QHByZWZp
eEAKIGV4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKLWV4ZWMgQGJpbmRpckAvQGthZmZlX1RSQU5T
RkAga2FmZmUucm1pLnJtaWMuUk1JQyAkezErIiRAIn0KLQorZXhlYyBAYmluZGlyQC9Aa2FmZmVf
VFJBTlNGQCAkSkFWQV9PUFRJT05TIGthZmZlLnJtaS5ybWljLlJNSUMgJFJNSUNfQVJHUwpJbmRl
eDogbGlicmFyaWVzL2V4dGVuc2lvbnMvcm1pL2phdmFsaWIva2FmZmUvcm1pL3JtaWMvUk1JQy5q
YXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMva2FmZmUva2FmZmUvbGlicmFyaWVzL2V4dGVu
c2lvbnMvcm1pL2phdmFsaWIva2FmZmUvcm1pL3JtaWMvUk1JQy5qYXZhLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjQKZGlmZiAtdSAtcjEuNCBSTUlDLmphdmEKLS0tIGxpYnJhcmllcy9leHRlbnNp
b25zL3JtaS9qYXZhbGliL2thZmZlL3JtaS9ybWljL1JNSUMuamF2YQkxOTk5LzEwLzI0IDIyOjM0
OjE1CTEuNAorKysgbGlicmFyaWVzL2V4dGVuc2lvbnMvcm1pL2phdmFsaWIva2FmZmUvcm1pL3Jt
aWMvUk1JQy5qYXZhCTIwMDEvMDcvMTQgMTc6NDQ6MTgKQEAgLTY4Miw3ICs2ODIsNyBAQAogCQlD
bGFzc1tdIHNpZyA9IG0uZ2V0UGFyYW1ldGVyVHlwZXMoKTsKIAkJZm9yIChpbnQgaiA9IDA7IGog
PCBzaWcubGVuZ3RoOyBqKyspIHsKIAkJCW91dC5wcmludChnZXRQcmV0dHlOYW1lKHNpZ1tqXSkp
OwotCQkJb3V0LnByaW50bG4oIiAkcGFyYW1fIiArIGogKyAiOyIpOworCQkJb3V0LnByaW50bG4o
IiAkcGFyYW1fIiArIGogKyAiID0gbnVsbDsiKTsKIAkJfQogCiAJCW91dC5wcmludCgidHJ5IHsi
KTsKQEAgLTkwOSw3ICs5MDksMTIgQEAKIAkJCWRlc3RpbmF0aW9uID0gYXJnc1tuZXh0XTsKIAkJ
CW5leHQrKzsKIAkJfQorCQkvKgorCQlUaGlzIG9wdGlvbiBpcyBoYW5kbGVkIGJ5IHRoZSBzY3Jp
cHQgJ3JtaWMnLAorCQlzbyB3ZSBzaG91bGRuJ3Qgc2VlIGl0IGhlcmUuCisJCQkJCiAJCWVsc2Ug
aWYgKGFyZy5jaGFyQXQoMSkgPT0gJ0onKSB7CisJCSovCiAJCX0KIAkJZWxzZSB7CiAJCQlTeXN0
ZW0uZXJyLnByaW50bG4oIlVua25vd24gb3B0aW9uOiAiICsgYXJnKTsKQEAgLTkzMyw3ICs5Mzgs
NyBAQAogIgktdmVyYm9zZSAJCU91dHB1dCB3aGF0J3MgZ29pbmcgb25cbiIgKwogIgktY2xhc3Nw
YXRoIDxwYXRoPiAqCVVzZSBnaXZlbiBwYXRoIGFzIGNsYXNzcGF0aFxuIiArCiAiCS1kIDxkaXJl
Y3Rvcnk+IAkJU3BlY2lmeSB3aGVyZSB0byBwbGFjZSBnZW5lcmF0ZWQgY2xhc3Nlc1xuIiArCi0i
CS1KPGZsYWc+ICoJCVBhc3MgZmxhZyB0byBKYXZhXG4iICsKKyIJLUo8ZmxhZz4JCVBhc3MgZmxh
ZyB0byBKYXZhXG4iICsKICIgICogT3B0aW9uIGN1cnJlbnRseSBpZ25vcmVkIgogCSk7CiB9Cg==

--------------Boundary-00=_IO5HTI4YVTLYM4O0Q3SY--