MCPcopy Create free account
hub / github.com/dynjs/dynjs / call

Method call

src/main/java/org/dynjs/runtime/builtins/types/date/UTC.java:14–57  ·  view source on GitHub ↗
(ExecutionContext context, Object self, Object... args)

Source from the content-addressed store, hash-verified

12 }
13
14 @Override
15 public Object call(ExecutionContext context, Object self, Object... args) {
16 Number y = Types.toNumber(context, args[0]);
17 Number m = Types.toNumber(context, args[1]);
18 Number dt = 1;
19 Number h = 0;
20 Number min = 0;
21 Number s = 0;
22 Number milli = 0;
23
24 Arguments argsObj = (Arguments) context.resolve("arguments").getValue(context);
25 int numArgs = (int) argsObj.get(context, "length");
26
27 if (numArgs >= 3) {
28 dt = Types.toNumber(context, args[2]);
29 }
30 if (numArgs >= 4) {
31 h = Types.toNumber(context, args[3]);
32 }
33 if (numArgs >= 5) {
34 min = Types.toNumber(context, args[4]);
35 }
36 if (numArgs >= 6) {
37 s = Types.toNumber(context, args[5]);
38 }
39 if (numArgs >= 7) {
40 milli = Types.toNumber(context, args[6]);
41 }
42
43 Number yr = y;
44
45 if (!Double.isNaN(y.doubleValue())) {
46 long longYr = yr.longValue();
47 yr = Types.toInteger(context, y);
48 if (longYr >= 0 && longYr <= 99) {
49 yr = longYr + 1900;
50 }
51 }
52
53 Number finalDate = makeDate(context, makeDay(context, yr, m, dt), makeTime(context, h, min, s, milli));
54 Number clipped = timeClip(context, finalDate);
55
56 return clipped;
57 }
58
59 @Override
60 public void setFileName() {

Callers

nothing calls this directly

Calls 10

toNumberMethod · 0.95
getMethod · 0.95
toIntegerMethod · 0.95
resolveMethod · 0.80
makeDateMethod · 0.80
makeDayMethod · 0.80
makeTimeMethod · 0.80
timeClipMethod · 0.80
getValueMethod · 0.45
isNaNMethod · 0.45

Tested by

no test coverage detected