minigrace
Version:
A compiler for the Grace programming language
965 lines • 65.4 kB
JavaScript
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