- public Object call(Object name, JSArray args_) {
- Object[] args = new Object[args_.length()];
- for(int i=0; i<args.length; i++) args[i] = args_.elementAt(i);
-
- if (name.equals(getIdName(ConstructorId_UTC))) {
- return new Double(jsStaticJSFunction_UTC(args));
-
- } else if (name.equals(getIdName(ConstructorId_parse))) {
- return new Double(jsStaticJSFunction_parse(args[0].toString()));
-
- } else if (name.equals(getIdName(Id_constructor))) {
- return new JSDate(args_);
-
- } else if (name.equals(getIdName(Id_toString))) {
- double t = date;
- return date_format(t, FORMATSPEC_FULL);
-
- } else if (name.equals(getIdName(Id_toTimeString))) {
- double t = date;
- return date_format(t, FORMATSPEC_TIME);
-
- } else if (name.equals(getIdName(Id_toDateString))) {
- double t = date;
- return date_format(t, FORMATSPEC_DATE);
-
- } else if (name.equals(getIdName(Id_toLocaleString))) {
- double t = date;
- return jsJSFunction_toLocaleString(t);
-
- } else if (name.equals(getIdName(Id_toLocaleTimeString))) {
- double t = date;
- return jsJSFunction_toLocaleTimeString(t);
-
- } else if (name.equals(getIdName(Id_toLocaleDateString))) {
- double t = date;
- return jsJSFunction_toLocaleDateString(t);
-
- } else if (name.equals(getIdName(Id_toUTCString))) {
- double t = date;
- return jsJSFunction_toUTCString(t);
-
- } else if (name.equals(getIdName(Id_valueOf))) {
- return new Double(this.date);
-
- } else if (name.equals(getIdName(Id_getTime))) {
- return new Double(this.date);
-
- } else if (name.equals(getIdName(Id_getYear))) {
- double t = date;
- t = jsJSFunction_getYear(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getFullYear))) {
- double t = date;
- t = YearFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCFullYear))) {
- double t = date;
- t = YearFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getMonth))) {
- double t = date;
- t = MonthFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCMonth))) {
- double t = date;
- t = MonthFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getDate))) {
- double t = date;
- t = DateFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCDate))) {
- double t = date;
- t = DateFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getDay))) {
- double t = date;
- t = WeekDay(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCDay))) {
- double t = date;
- t = WeekDay(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getHours))) {
- double t = date;
- t = HourFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCHours))) {
- double t = date;
- t = HourFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getMinutes))) {
- double t = date;
- t = MinFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCMinutes))) {
- double t = date;
- t = MinFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getSeconds))) {
- double t = date;
- t = SecFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCSeconds))) {
- double t = date;
- t = SecFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getMilliseconds))) {
- double t = date;
- t = msFromTime(LocalTime(t));
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getUTCMilliseconds))) {
- double t = date;
- t = msFromTime(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_getTimezoneOffset))) {
- double t = date;
- t = jsJSFunction_getTimezoneOffset(t);
- return new Double(t);
-
- } else if (name.equals(getIdName(Id_setTime))) {
- return new Double(this.jsJSFunction_setTime(_toNumber(args, 0)));
-
- } else if (name.equals(getIdName(Id_setMilliseconds))) {
- return new Double(this.
- makeTime(args, 1, true));
-
- } else if (name.equals(getIdName(Id_setUTCMilliseconds))) {
- return new Double(this.
- makeTime(args, 1, false));
-
- } else if (name.equals(getIdName(Id_setSeconds))) {
- return new Double(this.
- makeTime(args, 2, true));
-
- } else if (name.equals(getIdName(Id_setUTCSeconds))) {
- return new Double(this.
- makeTime(args, 2, false));
-
- } else if (name.equals(getIdName(Id_setMinutes))) {
- return new Double(this.
- makeTime(args, 3, true));
-
- } else if (name.equals(getIdName(Id_setUTCMinutes))) {
- return new Double(this.
- makeTime(args, 3, false));
-
- } else if (name.equals(getIdName(Id_setHours))) {
- return new Double(this.
- makeTime(args, 4, true));
-
- } else if (name.equals(getIdName(Id_setUTCHours))) {
- return new Double(this.
- makeTime(args, 4, false));
-
- } else if (name.equals(getIdName(Id_setDate))) {
- return new Double(this.
- makeDate(args, 1, true));
-
- } else if (name.equals(getIdName(Id_setUTCDate))) {
- return new Double(this.
- makeDate(args, 1, false));
-
- } else if (name.equals(getIdName(Id_setMonth))) {
- return new Double(this.
- makeDate(args, 2, true));
-
- } else if (name.equals(getIdName(Id_setUTCMonth))) {
- return new Double(this.
- makeDate(args, 2, false));
-
- } else if (name.equals(getIdName(Id_setFullYear))) {
- return new Double(this.
- makeDate(args, 3, true));
-
- } else if (name.equals(getIdName(Id_setUTCFullYear))) {
- return new Double(this.
- makeDate(args, 3, false));
-
- } else if (name.equals(getIdName(Id_setYear))) {
- return new Double(this.
- jsJSFunction_setYear(_toNumber(args, 0)));
+ public Object callMethod(Object method, Object a0, Object a1, Object a2, Object[] rest, int nargs) {
+ switch(nargs) {
+ case 0: {
+ //#switch(method)
+ case "toString": return date_format(date, FORMATSPEC_FULL);
+ case "toTimeString": return date_format(date, FORMATSPEC_TIME);
+ case "toDateString": return date_format(date, FORMATSPEC_DATE);
+ case "toLocaleString": return toLocaleString(date);
+ case "toLocaleTimeString": return toLocaleTimeString(date);
+ case "toLocaleDateString": return toLocaleDateString(date);
+ case "toUTCString": return toUTCString(date);
+ case "valueOf": return N(this.date);
+ case "getTime": return N(this.date);
+ case "getYear": return N(getYear(date));
+ case "getFullYear": return N(YearFromTime(LocalTime(date)));
+ case "getUTCFullYear": return N(YearFromTime(date));
+ case "getMonth": return N(MonthFromTime(LocalTime(date)));
+ case "getUTCMonth": return N(MonthFromTime(date));
+ case "getDate": return N(DateFromTime(LocalTime(date)));
+ case "getUTCDate": return N(DateFromTime(date));
+ case "getDay": return N(WeekDay(LocalTime(date)));
+ case "getUTCDay": return N(WeekDay(date));
+ case "getHours": return N(HourFromTime(LocalTime(date)));
+ case "getUTCHours": return N(HourFromTime(date));
+ case "getMinutes": return N(MinFromTime(LocalTime(date)));
+ case "getUTCMinutes": return N(MinFromTime(date));
+ case "getSeconds": return N(SecFromTime(LocalTime(date)));
+ case "getUTCSeconds": return N(SecFromTime(date));
+ case "getMilliseconds": return N(msFromTime(LocalTime(date)));
+ case "getUTCMilliseconds": return N(msFromTime(date));
+ case "getTimezoneOffset": return N(getTimezoneOffset(date));
+ //#end
+ return super.callMethod(method, a0, a1, a2, rest, nargs);
+ }
+ case 1: {
+ //#switch(method)
+ case "setTime": return N(this.setTime(toDouble(a0)));
+ case "setYear": return N(this.setYear(toDouble(a0)));
+ //#end
+ // fall through
+ }
+ default: {
+ Object[] args = new Object[nargs];
+ for(int i=0; i<nargs; i++) args[i] = i==0 ? a0 : i==1 ? a1 : i==2 ? a2 : rest[i-3];
+ //#switch(method)
+ case "setMilliseconds": return N(this.makeTime(args, 1, true));
+ case "setUTCMilliseconds": return N(this.makeTime(args, 1, false));
+ case "setSeconds": return N(this.makeTime(args, 2, true));
+ case "setUTCSeconds": return N(this.makeTime(args, 2, false));
+ case "setMinutes": return N(this.makeTime(args, 3, true));
+ case "setUTCMinutes": return N(this.makeTime(args, 3, false));
+ case "setHours": return N(this.makeTime(args, 4, true));
+ case "setUTCHours": return N(this.makeTime(args, 4, false));
+ case "setDate": return N(this.makeDate(args, 1, true));
+ case "setUTCDate": return N(this.makeDate(args, 1, false));
+ case "setMonth": return N(this.makeDate(args, 2, true));
+ case "setUTCMonth": return N(this.makeDate(args, 2, false));
+ case "setFullYear": return N(this.makeDate(args, 3, true));
+ case "setUTCFullYear": return N(this.makeDate(args, 3, false));
+ //#end
+ }