X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FJSRegexp.java;h=00a6f40a12cecbe06d606a20aeb430351c40c8db;hp=cb2c89decdc5093597eb07830c79f85e3dfc62ea;hb=85c8f402be33df8440511492fb597fba9c2eb45f;hpb=ce791e4058158295bce9cf7b6698c2b565d571d7 diff --git a/src/org/ibex/js/JSRegexp.java b/src/org/ibex/js/JSRegexp.java index cb2c89d..00a6f40 100644 --- a/src/org/ibex/js/JSRegexp.java +++ b/src/org/ibex/js/JSRegexp.java @@ -40,12 +40,10 @@ public class JSRegexp extends JS { } } - public JS callMethod(JS method_, JS a0, JS a1, JS a2, JS[] rest, int nargs) throws JSExn { - if(!JS.isString(method_)) return super.callMethod(method_, a0, a1, a2, rest, nargs); - String method = JS.toString(method_); + public JS callMethod(JS method, JS a0, JS a1, JS a2, JS[] rest, int nargs) throws JSExn { switch(nargs) { case 1: { - //#switch(method) + //#jswitch(method) case "exec": { String s = JS.toString(a0); int start = global ? lastIndex : 0; @@ -70,19 +68,17 @@ public class JSRegexp extends JS { break; } case 2: { - //#switch(method) + //#jswitch(method) case "stringReplace": return stringReplace(a0, a1,a2); //#end break; } } - return super.callMethod(method_, a0, a1, a2, rest, nargs); + return super.callMethod(method, a0, a1, a2, rest, nargs); } - public JS get(JS key_) throws JSExn { - if(!JS.isString(key_)) return super.get(key_); - String key = JS.toString(key_); - //#switch(key) + public JS get(JS key) throws JSExn { + //#jswitch(key) case "exec": return METHOD; case "test": return METHOD; case "toString": return METHOD; @@ -92,7 +88,7 @@ public class JSRegexp extends JS { case "ignoreCase": return B(flags & RE.REG_ICASE); case "multiline": return B(flags & RE.REG_MULTILINE); //#end - return super.get(key_); + return super.get(key); } public void put(JS key, JS value) throws JSExn { @@ -283,7 +279,8 @@ public class JSRegexp extends JS { } - public static JS stringSplit(String s, JS arg0, JS arg1, int nargs) throws JSExn { + public static JS stringSplit(JS s_, JS arg0, JS arg1, int nargs) throws JSExn { + String s = JS.toString(s_); int limit = nargs < 2 ? Integer.MAX_VALUE : JS.toInt(arg1); if(limit < 0) limit = Integer.MAX_VALUE; if(limit == 0) return new JSArray();