From 33c8f5053422ceb0a89cc7bba2c1cf267c32f4b7 Mon Sep 17 00:00:00 2001 From: Sam Ruby Date: Fri, 27 Oct 2000 10:27:19 +0000 Subject: [PATCH] Allow strings to be passed to methods expecting primitive types. --- ext/java/reflect.java | 18 ++++++++++++++++-- ext/rpc/java/reflect.java | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/ext/java/reflect.java b/ext/java/reflect.java index c45e2fbbfd..2bafe5cec8 100644 --- a/ext/java/reflect.java +++ b/ext/java/reflect.java @@ -208,7 +208,7 @@ public class reflect { if (c== Character.TYPE || ((String)args[i]).length()>0) weight+=((String)args[i]).length(); else - weight+=9999; + weight+=64; } else { weight+=9999; } @@ -237,7 +237,21 @@ public class reflect { Object result[] = args; for (int i=0; i0) + result[i]=new Character(s.charAt(0)); + } catch (NumberFormatException n) { + // oh well, we tried! + } } else if (args[i] instanceof Number && parms[i].isPrimitive()) { if (result==args) result=(Object[])result.clone(); Class c = parms[i]; diff --git a/ext/rpc/java/reflect.java b/ext/rpc/java/reflect.java index c45e2fbbfd..2bafe5cec8 100644 --- a/ext/rpc/java/reflect.java +++ b/ext/rpc/java/reflect.java @@ -208,7 +208,7 @@ public class reflect { if (c== Character.TYPE || ((String)args[i]).length()>0) weight+=((String)args[i]).length(); else - weight+=9999; + weight+=64; } else { weight+=9999; } @@ -237,7 +237,21 @@ public class reflect { Object result[] = args; for (int i=0; i0) + result[i]=new Character(s.charAt(0)); + } catch (NumberFormatException n) { + // oh well, we tried! + } } else if (args[i] instanceof Number && parms[i].isPrimitive()) { if (result==args) result=(Object[])result.clone(); Class c = parms[i]; -- 2.50.1