UNPKG

minigrace

Version:

A compiler for the Grace programming language

965 lines 65.4 kB
let gracecode_date_sourceFile = "/Users/black/Development/mg/gracelang/minigrace/modules/date.grace"; let gracecode_date_sha256 = "571f9a1535c3574026a4015e8d8a48fa312ea1498757613e7413ba58afa075fd"; let gracecode_date_minigraceRevision = "b57591d29fc5ee5270d114920bf671367b8c3ecb"; let gracecode_date_minigraceGeneration = "5171"; if (typeof gctCache !== "undefined") gctCache["date"] = "dialect:\n standard\nfreshScopes:\n $102 trait\n $103\n $104\n $105\nmethodTypes:$101:\n days(n:Unknown) \u2192 Date\n hours(n:Unknown) \u2192 Date\n milliseconds(n:Unknown) \u2192 Date\n minutes(n:Unknown) \u2192 Date\n seconds(n:Unknown) \u2192 Date\n weeks(n:Unknown) \u2192 Date\nmethodTypes:$102:\n *(factor:Number) \u2192 Date\n +(other:Date) \u2192 Date\n -(other:Date) \u2192 Date\n ==(other:Date) \u2192 Boolean\n asDateString \u2192 String\n asIsoString \u2192 String\n asMilliseconds \u2192 Number\n asString \u2192 String\n asTimeString \u2192 String\n date \u2192 Number\n day \u2192 Number\n hour \u2192 Number\n millisecond \u2192 Number\n minute \u2192 Number\n month \u2192 Number\n reverseTimesNumber(factor:Number) \u2192 Date\n second \u2192 Number\n timeZoneOffsetInHours \u2192 Number\n timeZoneOffsetInMinutes \u2192 Number\n year \u2192 Number\nmodules:\n standard\npath:\n /Users/black/Development/mg/gracelang/minigrace/modules/date.grace\nscope:$101:\n Date type\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basic Unknown (mth) $102\n basicAsString String (go) $scope_string\n days(1) Date (mth) $scope_done\n fromString(1) Unknown (mth) $105\n hours(1) Date (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n milliseconds(1) Date (mth) $103\n minutes(1) Date (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n now Unknown (mth) $104\n seconds(1) Date (mth) $scope_done\n weeks(1) Date (mth) $scope_done\nscope:$102:\n *(1) Date (mth) $scope_done\n +(1) Date (mth) $scope_done\n -(1) Date (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Boolean (mth) $scope_done\n asDateString String (mth) $scope_done\n asDebugString String (go) $scope_string\n asIsoString String (mth) $scope_done\n asMilliseconds Number (mth) $scope_done\n asString String (mth) $scope_done\n asTimeString String (mth) $scope_done\n basicAsString String (go) $scope_string\n date Number (mth) $scope_done\n day Number (mth) $scope_done\n hash Unknown (req) $scopeUniv\n hour Number (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n millisecond Number (mth) $scope_done\n minute Number (mth) $scope_done\n month Number (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reverseTimesNumber(1) Date (mth) $scope_done\n second Number (mth) $scope_done\n timeZoneOffsetInHours Number (mth) $scope_done\n timeZoneOffsetInMinutes Number (mth) $scope_done\n year Number (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$103:\n *(1) Date (mth) $scope_done\n +(1) Date (mth) $scope_done\n -(1) Date (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Boolean (mth) $scope_done\n asDateString String (mth) $scope_done\n asDebugString String (go) $scope_string\n asIsoString String (mth) $scope_done\n asMilliseconds Number (mth) $scope_done\n asString String (mth) $scope_done\n asTimeString String (mth) $scope_done\n basicAsString String (go) $scope_string\n date Number (mth) $scope_done\n day Number (mth) $scope_done\n hash Unknown (req) $scopeUniv\n hour Number (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n millisecond Number (mth) $scope_done\n minute Number (mth) $scope_done\n month Number (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reverseTimesNumber(1) Date (mth) $scope_done\n second Number (mth) $scope_done\n timeZoneOffsetInHours Number (mth) $scope_done\n timeZoneOffsetInMinutes Number (mth) $scope_done\n value Unknown (def) $scope_done\n year Number (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$104:\n *(1) Date (mth) $scope_done\n +(1) Date (mth) $scope_done\n -(1) Date (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Boolean (mth) $scope_done\n asDateString String (mth) $scope_done\n asDebugString String (go) $scope_string\n asIsoString String (mth) $scope_done\n asMilliseconds Number (mth) $scope_done\n asString String (mth) $scope_done\n asTimeString String (mth) $scope_done\n basicAsString String (go) $scope_string\n date Number (mth) $scope_done\n day Number (mth) $scope_done\n hash Unknown (req) $scopeUniv\n hour Number (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n millisecond Number (mth) $scope_done\n minute Number (mth) $scope_done\n month Number (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reverseTimesNumber(1) Date (mth) $scope_done\n second Number (mth) $scope_done\n timeZoneOffsetInHours Number (mth) $scope_done\n timeZoneOffsetInMinutes Number (mth) $scope_done\n value Unknown (def) $scope_done\n year Number (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$105:\n *(1) Date (mth) $scope_done\n +(1) Date (mth) $scope_done\n -(1) Date (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Boolean (mth) $scope_done\n asDateString String (mth) $scope_done\n asDebugString String (go) $scope_string\n asIsoString String (mth) $scope_done\n asMilliseconds Number (mth) $scope_done\n asString String (mth) $scope_done\n asTimeString String (mth) $scope_done\n basicAsString String (go) $scope_string\n date Number (mth) $scope_done\n day Number (mth) $scope_done\n hash Unknown (req) $scopeUniv\n hour Number (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n millisecond Number (mth) $scope_done\n minute Number (mth) $scope_done\n month Number (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reverseTimesNumber(1) Date (mth) $scope_done\n second Number (mth) $scope_done\n timeZoneOffsetInHours Number (mth) $scope_done\n timeZoneOffsetInMinutes Number (mth) $scope_done\n value Unknown (def) $scope_done\n year Number (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nself:\n $101\ntypedec:$101.Date:\n type Date = interface {\n year \u2192 Number\n month \u2192 Number\n date \u2192 Number\n day \u2192 Number\n hour \u2192 Number\n minute \u2192 Number\n second \u2192 Number\n asString \u2192 String\n asDateString \u2192 String\n asTimeString \u2192 String\n asIsoString \u2192 String\n timeZoneOffsetInMinutes \u2192 Number\n timeZoneOffsetInHours \u2192 Number\n ==(other:Date) \u2192 Boolean\n +(other:Date) \u2192 Date\n -(other:Date)\n *(factor:Number)}\ntypes:\n $101.Date\n"; if (typeof originalSourceLines !== "undefined") { originalSourceLines["date"] = [ "dialect \"standard\"", "type Date = interface {", " year -> Number", " // the year, e.g., 2016", " month -> Number", " // the month, e.g, for 1 for January, 4 for April", " date -> Number", " // the day of the month, from 1 to 31", " day -> Number", " // the day of the week, e.g. 1 for Sunday, 1 for Monday", " hour -> Number", " // the hour of the day, e.g. 16 for 4 pm", " minute -> Number", " // the minutes past the hour, e.g. 49 for 4:49 pm", " second -> Number", " // the seconds past the minute, e.g. 32 for 4:49:32 pm", " asString -> String", " // a string representation of this date and time", " asDateString -> String", " // a string representation of just the date part", " asTimeString -> String", " // a string representation of just the time part", " asIsoString -> String", " // a string representation that complies with ISO 8601", " timeZoneOffsetInMinutes -> Number", " // the offset between this time and UTC, in minutes.", " timeZoneOffsetInHours -> Number", " // the offset between this time and UTC, in hours.", " == (other:Date) -> Boolean", " // is self == to other?", " + (other:Date) -> Date", " // the sum of self and other", " - (other:Date)", " // the difference betweem self and other", " * (factor:Number)", " // the product of self and factor", "}", "", "trait basic {", " // all in local time", "", " use equality", " method year -> Number {", " // the year, e.g., 2016", " native \"js\" code \"return new GraceNum(this.data.value.getFullYear())\"", " }", " method month -> Number {", " // the month, e.g, for 1 for January, 4 for April", " native \"js\" code \"return new GraceNum(this.data.value.getMonth() + 1)\"", " }", " method date -> Number {", " // the day of the month, from 1 to 31", " native \"js\" code \"return new GraceNum(this.data.value.getDate())\"", " }", " method day -> Number {", " // the day of the week, e.g. 1 for Sunday, 2 for Monday", " native \"js\" code \"return new GraceNum(this.data.value.getDay() + 1)\"", " }", " method hour -> Number {", " // the hour of the day, e.g. 16 for 4 pm", " native \"js\" code \"return new GraceNum(this.data.value.getHours())\"", " }", " method minute -> Number {", " // the minute past the hour, e.g. 49 for 4:49 pm", " native \"js\" code \"return new GraceNum(this.data.value.getMinutes())\"", " }", " method second -> Number {", " // the second past the minute, e.g. 33 for 4:49:33 pm", " native \"js\" code \"return new GraceNum(this.data.value.getSeconds())\"", " }", " method millisecond -> Number {", " // the second past the minute, e.g. 33 for 4:49:33 pm", " native \"js\" code \"return new GraceNum(this.data.value.getMilliseconds())\"", " } ", " method asString -> String {", " native \"js\" code \"return new GraceString(this.data.value.toString())\"", " }", " method asDateString -> String {", " native \"js\" code \"return new GraceString(this.data.value.toDateString());\"", " }", " method asTimeString -> String {", " native \"js\" code \"return new GraceString(this.data.value.toTimeString());\"", " }", " method asIsoString -> String {", " native \"js\" code \"return new GraceString(this.data.value.toISOString());\"", " }", " method asMilliseconds -> Number {", " // date as milliseconds since the epoch", " native \"js\" code \"return new GraceNum(this.data.value.getTime());\"", " }", " method timeZoneOffsetInMinutes -> Number {", " // the offset between this time and UTC, as a Number of minutes.", "", " // why not present this as a date? Because, as a date, it's always zero", " native \"js\" code \"return new GraceNum(this.data.value.getTimezoneOffset());\"", " }", " method timeZoneOffsetInHours -> Number {", " // the offset between this time and UTC, as a Number of hours.", " native \"js\" code \"return new GraceNum(this.data.value.getTimezoneOffset() / 60);\"", " }", " method + (other:Date) -> Date {", " milliseconds(self.asMilliseconds + other.asMilliseconds)", " }", " method - (other:Date) -> Date {", " milliseconds(self.asMilliseconds - other.asMilliseconds)", " } ", " method * (factor:Number) -> Date {", " milliseconds(self.asMilliseconds * factor)", " } ", " method reverseTimesNumber (factor:Number) -> Date {", " milliseconds(factor * self.asMilliseconds)", " }", " method == (other:Date) -> Boolean {", " self.asMilliseconds == other.asMilliseconds", " }", "}", "", "class milliseconds(n) -> Date {", " // n milliseconds since the epoch ", " inherit basic", " def value = native \"js\" code \"result = new Date(var_n._value);\"", "}", " ", "method seconds(n) -> Date {", " // n seconds in milliseconds", " milliseconds(1000 * n)", "}", "", "method minutes(n) -> Date {", " seconds(60 * n)", "}", "", "method hours(n) -> Date {", " minutes(60 * n)", "}", "", "method days(n) -> Date {", " hours(24 * n)", "}", "", "method weeks(n) -> Date {", " days(7 * n)", "}", "", "class now {", " inherit basic", " def value = native \"js\" code \"result = new Date();\"", "}", "", "class fromString(dateString) {", " inherit basic", " def value = native \"js\" code \"result = new Date(var_dateString._value);\"", "}", "", " " ]; } function gracecode_date() { importedModules["date"] = this; const var_$module = this; this.definitionModule = "date"; this.definitionLine = 1; setLineNumber(1); // compilenode dialect // Dialect "standard" const var_$dialect = do_import("standard", gracecode_standard); this.outer = var_$dialect; this.closureKeys = this.closureKeys || []; this.closureKeys.push("outer_date_1"); this.outer_date_1 = var_$dialect; setLineNumber(2); // compilenode typedec // Type decl Date var func1 = function(argcv) { // method Date, line 1 var returnTarget = invocationCount; invocationCount++; setLineNumber(2); // compilenode interfaceliteral // interface literal var iface2 = new GraceInterface("Date"); sig3 = () => { setLineNumber(3); // compilenode member var call4 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("year", [], [], [], call4); } sig5 = () => { setLineNumber(5); // compilenode member var call6 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("month", [], [], [], call6); } sig7 = () => { setLineNumber(7); // compilenode member var call8 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("date", [], [], [], call8); } sig9 = () => { setLineNumber(9); // compilenode member var call10 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("day", [], [], [], call10); } sig11 = () => { setLineNumber(11); // compilenode member var call12 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("hour", [], [], [], call12); } sig13 = () => { setLineNumber(13); // compilenode member var call14 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("minute", [], [], [], call14); } sig15 = () => { setLineNumber(15); // compilenode member var call16 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("second", [], [], [], call16); } sig17 = () => { setLineNumber(17); // compilenode member var call18 = selfRequest(var_$dialect, "String", [0]); return new GraceSignature("asString", [], [], [], call18); } sig19 = () => { setLineNumber(19); // compilenode member var call20 = selfRequest(var_$dialect, "String", [0]); return new GraceSignature("asDateString", [], [], [], call20); } sig21 = () => { setLineNumber(21); // compilenode member var call22 = selfRequest(var_$dialect, "String", [0]); return new GraceSignature("asTimeString", [], [], [], call22); } sig23 = () => { setLineNumber(23); // compilenode member var call24 = selfRequest(var_$dialect, "String", [0]); return new GraceSignature("asIsoString", [], [], [], call24); } sig25 = () => { setLineNumber(25); // compilenode member var call26 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("timeZoneOffsetInMinutes", [], [], [], call26); } sig27 = () => { setLineNumber(27); // compilenode member var call28 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("timeZoneOffsetInHours", [], [], [], call28); } sig29 = () => { setLineNumber(29); // compilenode member var call30 = selfRequest(var_$module, "Date", [0]); var call31 = selfRequest(var_$dialect, "Boolean", [0]); return new GraceSignature("==(1)", ["other"], [], [call30], call31); } sig32 = () => { setLineNumber(31); // compilenode member var call33 = selfRequest(var_$module, "Date", [0]); var call34 = selfRequest(var_$module, "Date", [0]); return new GraceSignature("+(1)", ["other"], [], [call33], call34); } sig35 = () => { setLineNumber(33); // compilenode member var call36 = selfRequest(var_$module, "Date", [0]); return new GraceSignature("-(1)", ["other"], [], [call36], type_Unknown); } sig37 = () => { setLineNumber(35); // compilenode member var call38 = selfRequest(var_$dialect, "Number", [0]); return new GraceSignature("*(1)", ["factor"], [], [call38], type_Unknown); } iface2.typeMethods = { "year": sig3 , "month": sig5 , "date": sig7 , "day": sig9 , "hour": sig11 , "minute": sig13 , "second": sig15 , "asString": sig17 , "asDateString": sig19 , "asTimeString": sig21 , "asIsoString": sig23 , "timeZoneOffsetInMinutes": sig25 , "timeZoneOffsetInHours": sig27 , "==(1)": sig29 , "+(1)": sig32 , "-(1)": sig35 , "*(1)": sig37 }; return iface2; }; // end of method Date function memofunc1(argcv) { if (! this.data["memo$Date"]) // parameterless memo function this.data["memo$Date"] = func1.call(this, argcv); return this.data["memo$Date"]; }; this.methods["Date"] = memofunc1; memofunc1.methodName = "Date"; memofunc1.paramCounts = [0]; memofunc1.paramNames = []; memofunc1.definitionLine = 1; memofunc1.definitionModule = "date"; func1.methodName = "Date"; func1.paramCounts = [0]; func1.paramNames = []; func1.definitionLine = 1; func1.definitionModule = "date"; var func39 = function(argcv) { // method basic, line 39 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("basic", 0, numArgs - 0); } var ouc = emptyGraceObject("basic", "date", 39); var ouc_init = this.methods["basic$build(3)"].call(this, null, ouc, [], []); ouc_init.call(ouc); return ouc; }; // end of method basic this.methods["basic"] = func39; func39.methodName = "basic"; func39.paramCounts = [0]; func39.paramNames = []; func39.definitionLine = 39; func39.definitionModule = "date"; var func40 = function(argcv, inheritingObject, aliases, exclusions) { // method basic$build(_,_,_), line 39 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 4; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("basic", 0, numArgs - 0); } var obj41_build = function(ignore, outerObj, aliases, exclusions) { this.closureKeys = this.closureKeys || []; this.closureKeys.push("outer_date_39"); this.outer_date_39 = outerObj; const inheritedExclusions = { }; for (var eix = 0, eLen = exclusions.length; eix < eLen; eix ++) { const exMeth = exclusions[eix]; inheritedExclusions[exMeth] = this.methods[exMeth]; }; setLineNumber(42); // reuse call var initFun42 = selfRequest(var_$dialect, "equality$build(3)", [null], this, [], []); // compileReuseCall var func43 = function(argcv) { // method year, line 43 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("year", 0, numArgs - 0); } setLineNumber(45); // compilenode call var result = GraceDone; // start native code from line 45 return new GraceNum(this.data.value.getFullYear()) // end native code insertion setLineNumber(43); // compilenode member var call45 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(45); // typecheck assertTypeOrMsg(result, call45, "result of method year", "Number"); return result; }; // end of method year setLineNumber(43); // compilenode member var call46 = selfRequest(var_$dialect, "Number", [0]); func43.returnType = call46; this.methods["year"] = func43; func43.methodName = "year"; func43.paramCounts = [0]; func43.paramNames = []; func43.definitionLine = 43; func43.definitionModule = "date"; var func47 = function(argcv) { // method month, line 47 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("month", 0, numArgs - 0); } setLineNumber(49); // compilenode call var result = GraceDone; // start native code from line 49 return new GraceNum(this.data.value.getMonth() + 1) // end native code insertion setLineNumber(47); // compilenode member var call49 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(49); // typecheck assertTypeOrMsg(result, call49, "result of method month", "Number"); return result; }; // end of method month setLineNumber(47); // compilenode member var call50 = selfRequest(var_$dialect, "Number", [0]); func47.returnType = call50; this.methods["month"] = func47; func47.methodName = "month"; func47.paramCounts = [0]; func47.paramNames = []; func47.definitionLine = 47; func47.definitionModule = "date"; var func51 = function(argcv) { // method date, line 51 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("date", 0, numArgs - 0); } setLineNumber(53); // compilenode call var result = GraceDone; // start native code from line 53 return new GraceNum(this.data.value.getDate()) // end native code insertion setLineNumber(51); // compilenode member var call53 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(53); // typecheck assertTypeOrMsg(result, call53, "result of method date", "Number"); return result; }; // end of method date setLineNumber(51); // compilenode member var call54 = selfRequest(var_$dialect, "Number", [0]); func51.returnType = call54; this.methods["date"] = func51; func51.methodName = "date"; func51.paramCounts = [0]; func51.paramNames = []; func51.definitionLine = 51; func51.definitionModule = "date"; var func55 = function(argcv) { // method day, line 55 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("day", 0, numArgs - 0); } setLineNumber(57); // compilenode call var result = GraceDone; // start native code from line 57 return new GraceNum(this.data.value.getDay() + 1) // end native code insertion setLineNumber(55); // compilenode member var call57 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(57); // typecheck assertTypeOrMsg(result, call57, "result of method day", "Number"); return result; }; // end of method day setLineNumber(55); // compilenode member var call58 = selfRequest(var_$dialect, "Number", [0]); func55.returnType = call58; this.methods["day"] = func55; func55.methodName = "day"; func55.paramCounts = [0]; func55.paramNames = []; func55.definitionLine = 55; func55.definitionModule = "date"; var func59 = function(argcv) { // method hour, line 59 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("hour", 0, numArgs - 0); } setLineNumber(61); // compilenode call var result = GraceDone; // start native code from line 61 return new GraceNum(this.data.value.getHours()) // end native code insertion setLineNumber(59); // compilenode member var call61 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(61); // typecheck assertTypeOrMsg(result, call61, "result of method hour", "Number"); return result; }; // end of method hour setLineNumber(59); // compilenode member var call62 = selfRequest(var_$dialect, "Number", [0]); func59.returnType = call62; this.methods["hour"] = func59; func59.methodName = "hour"; func59.paramCounts = [0]; func59.paramNames = []; func59.definitionLine = 59; func59.definitionModule = "date"; var func63 = function(argcv) { // method minute, line 63 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("minute", 0, numArgs - 0); } setLineNumber(65); // compilenode call var result = GraceDone; // start native code from line 65 return new GraceNum(this.data.value.getMinutes()) // end native code insertion setLineNumber(63); // compilenode member var call65 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(65); // typecheck assertTypeOrMsg(result, call65, "result of method minute", "Number"); return result; }; // end of method minute setLineNumber(63); // compilenode member var call66 = selfRequest(var_$dialect, "Number", [0]); func63.returnType = call66; this.methods["minute"] = func63; func63.methodName = "minute"; func63.paramCounts = [0]; func63.paramNames = []; func63.definitionLine = 63; func63.definitionModule = "date"; var func67 = function(argcv) { // method second, line 67 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("second", 0, numArgs - 0); } setLineNumber(69); // compilenode call var result = GraceDone; // start native code from line 69 return new GraceNum(this.data.value.getSeconds()) // end native code insertion setLineNumber(67); // compilenode member var call69 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(69); // typecheck assertTypeOrMsg(result, call69, "result of method second", "Number"); return result; }; // end of method second setLineNumber(67); // compilenode member var call70 = selfRequest(var_$dialect, "Number", [0]); func67.returnType = call70; this.methods["second"] = func67; func67.methodName = "second"; func67.paramCounts = [0]; func67.paramNames = []; func67.definitionLine = 67; func67.definitionModule = "date"; var func71 = function(argcv) { // method millisecond, line 71 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("millisecond", 0, numArgs - 0); } setLineNumber(73); // compilenode call var result = GraceDone; // start native code from line 73 return new GraceNum(this.data.value.getMilliseconds()) // end native code insertion setLineNumber(71); // compilenode member var call73 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(73); // typecheck assertTypeOrMsg(result, call73, "result of method millisecond", "Number"); return result; }; // end of method millisecond setLineNumber(71); // compilenode member var call74 = selfRequest(var_$dialect, "Number", [0]); func71.returnType = call74; this.methods["millisecond"] = func71; func71.methodName = "millisecond"; func71.paramCounts = [0]; func71.paramNames = []; func71.definitionLine = 71; func71.definitionModule = "date"; var func75 = function(argcv) { // method asString, line 75 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("asString", 0, numArgs - 0); } setLineNumber(76); // compilenode call var result = GraceDone; // start native code from line 76 return new GraceString(this.data.value.toString()) // end native code insertion setLineNumber(75); // compilenode member var call77 = selfRequest(var_$dialect, "String", [0]); setLineNumber(76); // typecheck assertTypeOrMsg(result, call77, "result of method asString", "String"); return result; }; // end of method asString setLineNumber(75); // compilenode member var call78 = selfRequest(var_$dialect, "String", [0]); func75.returnType = call78; this.methods["asString"] = func75; func75.methodName = "asString"; func75.paramCounts = [0]; func75.paramNames = []; func75.definitionLine = 75; func75.definitionModule = "date"; var func79 = function(argcv) { // method asDateString, line 78 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("asDateString", 0, numArgs - 0); } setLineNumber(79); // compilenode call var result = GraceDone; // start native code from line 79 return new GraceString(this.data.value.toDateString()); // end native code insertion setLineNumber(78); // compilenode member var call81 = selfRequest(var_$dialect, "String", [0]); setLineNumber(79); // typecheck assertTypeOrMsg(result, call81, "result of method asDateString", "String"); return result; }; // end of method asDateString setLineNumber(78); // compilenode member var call82 = selfRequest(var_$dialect, "String", [0]); func79.returnType = call82; this.methods["asDateString"] = func79; func79.methodName = "asDateString"; func79.paramCounts = [0]; func79.paramNames = []; func79.definitionLine = 78; func79.definitionModule = "date"; var func83 = function(argcv) { // method asTimeString, line 81 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("asTimeString", 0, numArgs - 0); } setLineNumber(82); // compilenode call var result = GraceDone; // start native code from line 82 return new GraceString(this.data.value.toTimeString()); // end native code insertion setLineNumber(81); // compilenode member var call85 = selfRequest(var_$dialect, "String", [0]); setLineNumber(82); // typecheck assertTypeOrMsg(result, call85, "result of method asTimeString", "String"); return result; }; // end of method asTimeString setLineNumber(81); // compilenode member var call86 = selfRequest(var_$dialect, "String", [0]); func83.returnType = call86; this.methods["asTimeString"] = func83; func83.methodName = "asTimeString"; func83.paramCounts = [0]; func83.paramNames = []; func83.definitionLine = 81; func83.definitionModule = "date"; var func87 = function(argcv) { // method asIsoString, line 84 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("asIsoString", 0, numArgs - 0); } setLineNumber(85); // compilenode call var result = GraceDone; // start native code from line 85 return new GraceString(this.data.value.toISOString()); // end native code insertion setLineNumber(84); // compilenode member var call89 = selfRequest(var_$dialect, "String", [0]); setLineNumber(85); // typecheck assertTypeOrMsg(result, call89, "result of method asIsoString", "String"); return result; }; // end of method asIsoString setLineNumber(84); // compilenode member var call90 = selfRequest(var_$dialect, "String", [0]); func87.returnType = call90; this.methods["asIsoString"] = func87; func87.methodName = "asIsoString"; func87.paramCounts = [0]; func87.paramNames = []; func87.definitionLine = 84; func87.definitionModule = "date"; var func91 = function(argcv) { // method asMilliseconds, line 87 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("asMilliseconds", 0, numArgs - 0); } setLineNumber(89); // compilenode call var result = GraceDone; // start native code from line 89 return new GraceNum(this.data.value.getTime()); // end native code insertion setLineNumber(87); // compilenode member var call93 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(89); // typecheck assertTypeOrMsg(result, call93, "result of method asMilliseconds", "Number"); return result; }; // end of method asMilliseconds setLineNumber(87); // compilenode member var call94 = selfRequest(var_$dialect, "Number", [0]); func91.returnType = call94; this.methods["asMilliseconds"] = func91; func91.methodName = "asMilliseconds"; func91.paramCounts = [0]; func91.paramNames = []; func91.definitionLine = 87; func91.definitionModule = "date"; var func95 = function(argcv) { // method timeZoneOffsetInMinutes, line 91 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("timeZoneOffsetInMinutes", 0, numArgs - 0); } setLineNumber(95); // compilenode call var result = GraceDone; // start native code from line 95 return new GraceNum(this.data.value.getTimezoneOffset()); // end native code insertion setLineNumber(91); // compilenode member var call97 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(95); // typecheck assertTypeOrMsg(result, call97, "result of method timeZoneOffsetInMinutes", "Number"); return result; }; // end of method timeZoneOffsetInMinutes setLineNumber(91); // compilenode member var call98 = selfRequest(var_$dialect, "Number", [0]); func95.returnType = call98; this.methods["timeZoneOffsetInMinutes"] = func95; func95.methodName = "timeZoneOffsetInMinutes"; func95.paramCounts = [0]; func95.paramNames = []; func95.definitionLine = 91; func95.definitionModule = "date"; var func99 = function(argcv) { // method timeZoneOffsetInHours, line 97 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 0) && (numArgs !== 0)) { raiseTypeArgError("timeZoneOffsetInHours", 0, numArgs - 0); } setLineNumber(99); // compilenode call var result = GraceDone; // start native code from line 99 return new GraceNum(this.data.value.getTimezoneOffset() / 60); // end native code insertion setLineNumber(97); // compilenode member var call101 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(99); // typecheck assertTypeOrMsg(result, call101, "result of method timeZoneOffsetInHours", "Number"); return result; }; // end of method timeZoneOffsetInHours setLineNumber(97); // compilenode member var call102 = selfRequest(var_$dialect, "Number", [0]); func99.returnType = call102; this.methods["timeZoneOffsetInHours"] = func99; func99.methodName = "timeZoneOffsetInHours"; func99.paramCounts = [0]; func99.paramNames = []; func99.definitionLine = 97; func99.definitionModule = "date"; var func103 = function(argcv, var_other) { // method +(_), line 101 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("+(_)", 0, numArgs - 1); } setLineNumber(101); // compilenode member var call104 = selfRequest(var_$module, "Date", [0]); assertTypeOrMsg(var_other, call104, "argument to request of `+(_)`", "Date"); setLineNumber(102); // compilenode member // call case 4: other requests var call107 = request(var_other, "asMilliseconds", [0]); // call case 4: other requests var call108 = selfRequest(this, "asMilliseconds", [0]); var sum106 = selfRequest(call108, "+(1)", [1], call107); var call105 = selfRequest(var_$module, "milliseconds(1)", [1], sum106); setLineNumber(101); // compilenode member var call109 = selfRequest(var_$module, "Date", [0]); setLineNumber(102); // typecheck assertTypeOrMsg(call105, call109, "result of method +(_)", "Date"); return call105; }; // end of method +(_) setLineNumber(101); // compilenode member var call110 = selfRequest(var_$module, "Date", [0]); func103.paramTypes = [call110]; var call111 = selfRequest(var_$module, "Date", [0]); func103.returnType = call111; this.methods["+(1)"] = func103; func103.methodName = "+(1)"; func103.paramCounts = [1]; func103.paramNames = ["other"]; func103.definitionLine = 101; func103.definitionModule = "date"; var func112 = function(argcv, var_other) { // method -(_), line 104 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("-(_)", 0, numArgs - 1); } setLineNumber(104); // compilenode member var call113 = selfRequest(var_$module, "Date", [0]); assertTypeOrMsg(var_other, call113, "argument to request of `-(_)`", "Date"); setLineNumber(105); // compilenode member // call case 4: other requests var call116 = request(var_other, "asMilliseconds", [0]); // call case 4: other requests var call117 = selfRequest(this, "asMilliseconds", [0]); var diff115 = selfRequest(call117, "-(1)", [1], call116); var call114 = selfRequest(var_$module, "milliseconds(1)", [1], diff115); setLineNumber(104); // compilenode member var call118 = selfRequest(var_$module, "Date", [0]); setLineNumber(105); // typecheck assertTypeOrMsg(call114, call118, "result of method -(_)", "Date"); return call114; }; // end of method -(_) setLineNumber(104); // compilenode member var call119 = selfRequest(var_$module, "Date", [0]); func112.paramTypes = [call119]; var call120 = selfRequest(var_$module, "Date", [0]); func112.returnType = call120; this.methods["-(1)"] = func112; func112.methodName = "-(1)"; func112.paramCounts = [1]; func112.paramNames = ["other"]; func112.definitionLine = 104; func112.definitionModule = "date"; var func121 = function(argcv, var_factor) { // method *(_), line 107 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("*(_)", 0, numArgs - 1); } setLineNumber(107); // compilenode member var call122 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_factor, call122, "argument to request of `*(_)`", "Number"); setLineNumber(108); // compilenode op // call case 4: other requests var call125 = selfRequest(this, "asMilliseconds", [0]); var prod124 = selfRequest(call125, "*(1)", [1], var_factor); var call123 = selfRequest(var_$module, "milliseconds(1)", [1], prod124); setLineNumber(107); // compilenode member var call126 = selfRequest(var_$module, "Date", [0]); setLineNumber(108); // typecheck assertTypeOrMsg(call123, call126, "result of method *(_)", "Date"); return call123; }; // end of method *(_) setLineNumber(107); // compilenode member var call127 = selfRequest(var_$dialect, "Number", [0]); func121.paramTypes = [call127]; var call128 = selfRequest(var_$module, "Date", [0]); func121.returnType = call128; this.methods["*(1)"] = func121; func121.methodName = "*(1)"; func121.paramCounts = [1]; func121.paramNames = ["factor"]; func121.definitionLine = 107; func121.definitionModule = "date"; var func129 = function(argcv, var_factor) { // method reverseTimesNumber(_), line 110 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("reverseTimesNumber(_)", 0, numArgs - 1); } setLineNumber(110); // compilenode member var call130 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_factor, call130, "argument to request of `reverseTimesNumber(_)`", "Number"); setLineNumber(111); // compilenode member var call133 = selfRequest(this, "asMilliseconds", [0]); // call case 4: other requests var prod132 = request(var_factor, "*(1)", [1], call133); var call131 = selfRequest(var_$module, "milliseconds(1)", [1], prod132); setLineNumber(110); // compilenode member var call134 = selfRequest(var_$module, "Date", [0]); setLineNumber(111); // typecheck assertTypeOrMsg(call131, call134, "result of method reverseTimesNumber(_)", "Date"); return call131; }; // end of method reverseTimesNumber(_) setLineNumber(110); // compilenode member var call135 = selfRequest(var_$dialect, "Number", [0]); func129.paramTypes = [call135]; var call136 = selfRequest(var_$module, "Date", [0]); func129.returnType = call136; this.methods["reverseTimesNumber(1)"] = func129; func129.methodName = "reverseTimesNumber(1)"; func129.paramCounts = [1]; func129.paramNames = ["factor"]; func129.definitionLine = 110; func129.definitionModule = "date"; var func137 = function(argcv, var_other) { // method ==(_), line 113 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("==(_)", 0, numArgs - 1); } setLineNumber(113); // compilenode member var call138 = selfRequest(var_$module, "Date", [0]); assertTypeOrMsg(var_other, call138, "argument to request of `==(_)`", "Date"); setLineNumber(114); // compilenode member // call case 4: other requests var call140 = request(var_other, "asMilliseconds", [0]); // call case 4: other requests var call141 = selfRequest(this, "asMilliseconds", [0]); var term139 = selfRequest(call141, "==(1)", [1], call140); setLineNumber(113); // compilenode member var call142 = selfRequest(var_$dialect, "Boolean", [0]); setLineNumber(114); // typecheck assertTypeOrMsg(term139, call142, "result of method ==(_)", "Boolean"); return term139; }; // end of method ==(_) setLineNumber(113); // compilenode member var call143 = selfRequest(var_$module, "Date", [0]); func137.paramTypes = [call143]; var call144 = selfRequest(var_$dialect, "Boolean", [0]); func137.returnType = call144; this.methods["==(1)"] = func137; func137.methodName = "==(1)"; func137.paramCounts = [1]; func137.paramNames = ["other"]; func137.definitionLine = 113; func137.definitionModule = "date"; const overridenByAliases = { }; for (let aix = 0, aLen = aliases.length; aix < aLen; aix ++) { const a = aliases[aix]; const newNm = a.newName; const oldNm = a.oldName; overridenByAliases[newNm] = this.methods[newNm]; const m = confidentialVersion(overridenByAliases[oldNm] || this.methods[oldNm], newNm); m.definitionLine = 39; m.definitionModule = "date"; this.methods[newNm] = m; } for (let exName in inheritedExclusions) { if (inheritedExclusions.hasOwnProperty(exName)) { if (inheritedExclusions[exName]) { this.methods[exName] = inheritedExclusions[exName]; } else { delete this.methods[exName]; } } } var obj41_init = function() { // init of object on line 39 }; return obj41_init; // from compileBuildAndInitFunctions(_)inMethod(_) }; var obj41_init = obj41_build.call(inheritingObject, null, this, aliases, exclusions); return obj41_init; // from compileBuildMethodFor(_)withObjCon(_)inside(_) }; // end of method basic$build(_,_,_) this.methods["basic$build(3)"] = func40; func40.methodName = "basic$build(3)"; func40.paramCounts = [0]; func40.paramNames = []; func40.definitionLine = 39; func40.definitionModule = "date"; var func145 = function(argcv, var_n) { // method milliseconds(_), line 118 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("milliseconds(_)", 0, numArgs - 1); } var ouc = emptyGraceObject("milliseconds(_)", "date", 118); var ouc_init = this.methods["milliseconds(1)$build(3)"].call(this, null, var_n, ouc, [], []); ouc_init.call(ouc); setLineNumber(118); // compilenode member var call146 = selfRequest(var_$module, "Date", [0]); setLineNumber(122); // typecheck assertTypeOrMsg(ouc, call146, "object returned from milliseconds(_)", "Date"); return ouc; }; // end of method milliseconds(_) setLineNumber(118); // compilenode member var call147 = selfRequest(var_$module, "Date", [0]); func145.returnType = call147; this.methods["milliseconds(1)"] = func145; func145.methodName = "milliseconds(1)"; func145.paramCounts = [1]; func145.paramNames = ["n"]; func145.definitionLine = 118; func145.definitionModule = "date"; var func148 = function(argcv, var_n, inheritingObject, aliases, exclusions) { // method milliseconds(_)$build(_,_,_), line 118 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 4; if ((numArgs > 1) && (numArgs !== 1)) { raiseTypeArgError("milliseconds(_)", 0, numArgs - 1); } var obj149_build = function(ignore, var_n, outerObj, aliases, exclusions) { this.closureKeys = this.closureKeys || []; this.closureKeys.push("outer_date_118"); this.outer_date_118 = outerObj; const inheritedExclusions = { }; for (var eix = 0, eLen = exclusions.length; eix < eLen; eix ++) { const exMeth = exclusions[eix]; inheritedExclusions[exMeth] = this.methods[exMeth]; }; setLineNumber(120); // reuse call var initFun150 = selfRequest(var_$module, "basic$build(3)", [null], this, [], []); // compileReuseCall this.data.value = undefined; var reader151_value = function() { // reader method value if (this.data.value === undefined) raiseUninitializedVariable("value"); return this.data.value; }; reader151_value.isDef = true; reader151_value.confidential