minigrace
Version:
A compiler for the Grace programming language
612 lines (611 loc) • 41 kB
JavaScript
let gracecode_requireTypes_sourceFile = "/Users/black/Development/mg/gracelang/minigrace/modules/requireTypes.grace";
let gracecode_requireTypes_sha256 = "845397391c7d43b1fcfcbfebaa74916212a9e79a029c33f0040820214eb4a957";
let gracecode_requireTypes_minigraceRevision = "b57591d29fc5ee5270d114920bf671367b8c3ecb";
let gracecode_requireTypes_minigraceGeneration = "5171";
if (typeof gctCache !== "undefined")
gctCache["requireTypes"] = "dialect:\nfreshScopes:\n $103 trait\n $104\n $105\n $106 trait\n $107 trait\n $108 trait\n $109 trait\n $110\n $111 trait\n $112 trait\n $113\n $115 trait\n $116 trait\nmodules:\n ast\n standardBundle\npath:\n /Users/black/Development/mg/gracelang/minigrace/modules/requireTypes.grace\nscope:$101:\n AndPattern(2) Unknown (mth) $103\n AndType(2) Unknown (mth) $104\n BarType(2) Unknown (mth) $105\n BasePattern Unknown (mth) $106\n BaseType Unknown (mth) $107\n Binding type\n Boolean type\n BoundsError Unknown (mth) $scope_done\n Collection type\n CollectionFactory type\n ConcurrentModification Unknown (mth) $scope_done\n DialectError Unknown (mth) $scope_done\n Dictionary type\n Done type\n Enumerable type\n EnvironmentException Unknown (mth) $scope_done\n EqualityObject type\n Exception Unknown (mth) $scope_done\n ExceptionKind type\n ExceptionPacket type\n Function0 type\n Function1 type\n Function2 type\n Function3 type\n Interface type\n Iterator type\n IteratorExhausted Unknown (mth) $scope_done\n List type\n NoSuchMethod Unknown (mth) $scope_done\n NoSuchObject Unknown (mth) $scope_done\n None type\n NotPattern(1) Unknown (mth) $108\n Number type\n Object type\n OrPattern(2) Unknown (mth) $109\n Pattern type\n Point type\n Predicate0 type\n Predicate1 type\n Predicate2 type\n Predicate3 type\n Procedure0 type\n Procedure1 type\n Procedure2 type\n Procedure3 type\n ProgrammingError Unknown (mth) $scope_done\n RequestError Unknown (mth) $scope_done\n ResourceException Unknown (mth) $scope_done\n RuntimeError Unknown (mth) $scope_done\n SelfType type\n Sequence type\n Sequenceable type\n Set type\n Signature type\n Sink type\n String type\n SubobjectResponsibility Unknown (mth) $scope_done\n Type type\n TypeError Unknown (mth) $scope_done\n TypeExclusion(2) Unknown (mth) $110\n TypeIntersection(2) Unknown (mth) $scope_done\n TypeVariant(2) Unknown (mth) $scope_done\n UnimplementedMethod Unknown (mth) $scope_done\n UninitializedVariable Unknown (mth) $scope_done\n abstract Unknown (mth) $scope_done\n annotation Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n binding Unknown (mth) $scope_done\n collection Unknown (mth) $scope_done\n confidential Unknown (mth) $scope_done\n dictionary Unknown (mth) $scope_done\n dictionary(1) Unknown (mth) $scope_done\n do(1)while(1) Unknown (mth) $scope_done\n done Unknown (mth) $scope_done\n enumerable Unknown (mth) $scope_done\n equality Unknown (mth) $111\n for(1)and(1)do(1) Unknown (mth) $scope_done\n for(1)do(1) Unknown (mth) $scope_done\n hashCombine(2) Unknown (mth) $scope_done\n identityEquality Unknown (mth) $112\n indexable Unknown (mth) $scope_done\n infinity Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n list Unknown (mth) $scope_done\n list(1) Unknown (mth) $scope_done\n max(2) Unknown (mth) $scope_done\n min(2) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n override Unknown (mth) $scope_done\n pi Unknown (mth) $scope_done\n point2Dx(1)y(1) Unknown (mth) $113\n primitiveArray Unknown (mth) $114\n public Unknown (mth) $scope_done\n range Unknown (mth) $scope_done\n readable Unknown (mth) $scope_done\n repeat(1)times(1) Unknown (mth) $scope_done\n required Unknown (mth) $scope_done\n sequence Unknown (mth) $scope_done\n sequence(1) Unknown (mth) $scope_done\n set Unknown (mth) $scope_done\n set(1) Unknown (mth) $scope_done\n singleton Unknown (mth) $115\n singleton(1) Unknown (mth) $116\n thisDialect Unknown (def) $102 public\n valueOf(1) Unknown (mth) $scope_done\n while(1)do(1) Unknown (mth) $scope_done\n writable Unknown (mth) $scope_done\n \u03c0 Unknown (mth) $scope_done\nscope:$102:\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n parseChecker(1) Unknown (mth) $scope_done\nscope:$103:\n &(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n isType Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix\u00ac Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\nscope:$104:\n &(1) Unknown (mth) $scope_done\n -(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n interfaces Unknown (def) $scope_done\n isInterface Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isNone Unknown (mth) $scope_done\n isType Unknown (mth) $scope_done\n matchHook(1) Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n name Unknown (var) $scopeEmpty\n name:=(1) Unknown (var) $scopeEmpty\n prefix== Unknown (mth) $scope_done\n prefix\u00ac Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n setName(1) Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n typeParameterNames Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$105:\n &(1) Unknown (mth) $scope_done\n -(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n interfaces Unknown (mth) $scope_done\n isInterface Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isNone Unknown (mth) $scope_done\n isType Unknown (mth) $scope_done\n matchHook(1) Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n name Unknown (var) $scopeEmpty\n name:=(1) Unknown (var) $scopeEmpty\n prefix== Unknown (mth) $scope_done\n prefix\u00ac Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n setName(1) Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n typeParameterNames Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$106:\n &(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n isType Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix\u00ac Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\nscope:$107:\n &(1) Unknown (mth) $scope_done\n -(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n interfaces Unknown (req) $scopeUniv\n isInterface Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isNone Unknown (mth) $scope_done\n isType Unknown (mth) $scope_done\n matchHook(1) Unknown (req) $scopeUniv\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n name Unknown (req) $scopeUniv\n name:=(1) Unknown (req) $scopeUniv\n prefix== Unknown (mth) $scope_done\n prefix\u00ac Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n setName(1) Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n typeParameterNames Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$108:\n &(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n isType Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix\u00ac Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\nscope:$109:\n &(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n isType Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix\u00ac Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\nscope:$110:\n &(1) Unknown (mth) $scope_done\n -(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n interfaces Unknown (mth) $scope_done\n isInterface Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isNone Unknown (mth) $scope_done\n isType Unknown (mth) $scope_done\n matchHook(1) Unknown (req) $scopeUniv\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n name Unknown (var) $scopeEmpty\n name:=(1) Unknown (var) $scopeEmpty\n prefix== Unknown (mth) $scope_done\n prefix\u00ac Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n setName(1) Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n typeParameterNames Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$111:\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (req) $scopeUniv\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n hash Unknown (req) $scopeUniv\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$112:\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$113:\n *(1) Unknown (mth) $scope_done\n +(1) Unknown (mth) $scope_done\n -(1) Unknown (mth) $scope_done\n /(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString Unknown (mth) $scope_done\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n distanceTo(1) Unknown (mth) $scope_done\n dot(1) Number (mth) $scope_done\n hash Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n length Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n norm Unknown (mth) $scope_done\n prefix- Unknown (mth) $scope_done\n prefix== Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n reverseDivideNumber(1) Unknown (mth) $scope_done\n reverseMinusNumber(1) Unknown (mth) $scope_done\n reversePlusNumber(1) Unknown (mth) $scope_done\n reverseTimesNumber(1) Unknown (mth) $scope_done\n x Unknown (def) $scopeEmpty\n y Unknown (def) $scopeEmpty\n \u2260(1) Unknown (mth) $scope_done\n \u22c5(1) Number (mth) $scope_done\nscope:$114:\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n new(1) Unknown (mth) $scope_done\nscope:$115:\n &(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isType Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u00ac Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nscope:$116:\n &(1) Unknown (mth) $scope_done\n ::(1) Unknown (mth) $scope_done\n ==(1) Unknown (mth) $scope_done\n asDebugString String (go) $scope_string\n asString Unknown (mth) $scope_done\n basicAsString String (go) $scope_string\n hash Unknown (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n isType Unknown (mth) $scope_done\n matches(1) Unknown (mth) $scope_done\n myIdentityHash Number (go) $scope_number\n prefix== Unknown (mth) $scope_done\n prefix\u00ac Unknown (mth) $scope_done\n prefix\u2260 Unknown (mth) $scope_done\n setTypeName(1) Unknown (mth) $scope_done\n |(1) Unknown (mth) $scope_done\n \u2260(1) Unknown (mth) $scope_done\nself:\n $101\ntypes:\n";
if (typeof originalSourceLines !== "undefined") {
originalSourceLines["requireTypes"] = [
"dialect \"none\"",
"import \"ast\" as ast",
"import \"standardBundle\" as standardBundle",
"",
"use standardBundle.open",
"",
"def CheckerFailure = self.Exception.refine \"CheckerFailure\"",
"",
"def staticVisitor = object {",
" inherit ast.baseVisitor",
" method asString {",
" \"the requireTypes visitor\"",
" }",
"",
" method visitDefDec(v) -> Boolean is public {",
" if (false == v.dtype) then {",
" CheckerFailure.raise (\"no type given to declaration\"",
" ++ \" of def '{v.name.value}'\") with (v.name)",
" }",
" true",
" }",
" method visitVarDec(v) -> Boolean is public {",
" if (false == v.dtype) then {",
" CheckerFailure.raise (\"no type given to declaration\"",
" ++ \" of var '{v.name.value}'\") with (v.name)",
" }",
" true",
" }",
" method visitMethodDec(v) -> Boolean is public {",
" v.signatureParts.do { p ->",
" if (p.isIdentifier && {p.wildcard.not && (false == p.dtype)}) then {",
" CheckerFailure.raise (\"no type given to declaration\"",
" ++ \" of parameter '{p.value}'\") with (p)",
" }",
" }",
" if (false == v.dtype) then {",
" CheckerFailure.raise (\"no return type given to declaration\"",
" ++ \" of method '{v.value.value}'\") with (v.value)",
" }",
" true",
" }",
" method visitBlock(v) -> Boolean is public {",
" v.params.do { p ->",
" if (p.isIdentifier && {p.wildcard.not && (false == p.dtype)}) then {",
" CheckerFailure.raise (\"no type given to declaration\"",
" ++ \" of block parameter '{p.value}'\") with (p)",
" }",
" }",
" true",
" }",
"}",
"",
"def thisDialect is public = object {",
" method parseChecker (moduleObj) {",
" moduleObj.accept(staticVisitor)",
" }",
"}" ];
}
function gracecode_requireTypes() {
importedModules["requireTypes"] = this;
const var_$module = this;
this.definitionModule = "requireTypes";
this.definitionLine = 1;
setLineNumber(1); // compilenode dialect
// Dialect "none"
const var_$dialect = new GraceModule("none");
this.outer = var_$dialect;
setLineNumber(2); // compilenode import
// Import of "ast" as ast
if (typeof gracecode_ast == "undefined")
throw new GraceExceptionPacket(EnvironmentExceptionObject,
new GraceString("could not find module ast"));
var var_ast = do_import("ast", gracecode_ast);
var func0 = function(argcv) { // accessor method ast, line 2
const numArgs = arguments.length - 1;
if (numArgs > 0) raiseTypeArgError("ast", 0, numArgs - 0);
return var_ast;
}; // end of method ast
this.methods["ast"] = func0;
func0.methodName = "ast";
func0.paramCounts = [0];
func0.paramNames = [];
func0.definitionLine = 2;
func0.definitionModule = "requireTypes";
func0.debug = "import";
func0.confidential = true;
setLineNumber(3); // compilenode import
// Import of "standardBundle" as standardBundle
if (typeof gracecode_standardBundle == "undefined")
throw new GraceExceptionPacket(EnvironmentExceptionObject,
new GraceString("could not find module standardBundle"));
var var_standardBundle = do_import("standardBundle", gracecode_standardBundle);
var func1 = function(argcv) { // accessor method standardBundle, line 3
const numArgs = arguments.length - 1;
if (numArgs > 0) raiseTypeArgError("standardBundle", 0, numArgs - 0);
return var_standardBundle;
}; // end of method standardBundle
this.methods["standardBundle"] = func1;
func1.methodName = "standardBundle";
func1.paramCounts = [0];
func1.paramNames = [];
func1.definitionLine = 3;
func1.definitionModule = "requireTypes";
func1.debug = "import";
func1.confidential = true;
this.closureKeys = this.closureKeys || [];
this.closureKeys.push("outer_requireTypes_1");
this.outer_requireTypes_1 = var_$dialect;
setLineNumber(5); // reuse call
var initFun2 = request(var_standardBundle, "open$build(3)", [null], this, [], []); // compileReuseCall
setLineNumber(7); // compilenode string
var string4 = new GraceString("CheckerFailure");
// call case 4: other requests
var call5 = selfRequest(this, "Exception", [0]);
var call3 = request(call5, "refine(1)", [1], string4);
var var_CheckerFailure = call3;
var reader6_CheckerFailure = function() { // reader method CheckerFailure
if (var_CheckerFailure === undefined) raiseUninitializedVariable("CheckerFailure");
return var_CheckerFailure;
};
reader6_CheckerFailure.isDef = true;
reader6_CheckerFailure.confidential = true;
this.methods["CheckerFailure"] = reader6_CheckerFailure;
setLineNumber(9); // compilenode object
var obj7_build = function(ignore, outerObj, aliases, exclusions) {
this.closureKeys = this.closureKeys || [];
this.closureKeys.push("outer_requireTypes_9");
this.outer_requireTypes_9 = outerObj;
const inheritedExclusions = { };
for (var eix = 0, eLen = exclusions.length; eix < eLen; eix ++) {
const exMeth = exclusions[eix];
inheritedExclusions[exMeth] = this.methods[exMeth]; };
setLineNumber(10); // reuse call
var initFun8 = request(var_ast, "baseVisitor$build(3)", [null], this, [], []); // compileReuseCall
var func9 = function(argcv) { // method asString, line 11
var returnTarget = invocationCount;
invocationCount++;
const numArgs = arguments.length - 1;
if ((numArgs > 0) && (numArgs !== 0)) {
raiseTypeArgError("asString", 0, numArgs - 0);
}
setLineNumber(12); // compilenode string
var string10 = new GraceString("the requireTypes visitor");
return string10;
}; // end of method asString
this.methods["asString"] = func9;
func9.methodName = "asString";
func9.paramCounts = [0];
func9.paramNames = [];
func9.definitionLine = 11;
func9.definitionModule = "requireTypes";
var func11 = function(argcv, var_v) { // method visitDefDec(_), line 15
var returnTarget = invocationCount;
invocationCount++;
const numArgs = arguments.length - 1;
if ((numArgs > 1) && (numArgs !== 1)) {
raiseTypeArgError("visitDefDec(_)", 0, numArgs - 1);
}
var if12 = GraceDone;
setLineNumber(16); // compilenode member
// call case 4: other requests
var call14 = request(var_v, "dtype", [0]);
// call case 4: other requests
var term13 = request(GraceFalse, "==(1)", [1], call14);
if (Grace_isTrue(term13)) {
setLineNumber(18); // compilenode string
var string19 = new GraceString("'");
// call case 4: other requests
// call case 4: other requests
// call case 4: other requests
var call22 = request(var_v, "name", [0]);
var call21 = request(call22, "value", [0]);
// call case 4: other requests
var string23 = new GraceString(" of def '");
var concat20 = request(string23, "++(1)", [1], call21);
var concat18 = request(concat20, "++(1)", [1], string19);
// call case 4: other requests
setLineNumber(17); // compilenode string
var string24 = new GraceString("no type given to declaration");
var concat17 = request(string24, "++(1)", [1], concat18);
setLineNumber(18); // compilenode member
// call case 4: other requests
var call25 = request(var_v, "name", [0]);
// call case 4: other requests
if (var_CheckerFailure === undefined) raiseUninitializedVariable("CheckerFailure");
var call16 = request(var_CheckerFailure, "raise(1)with(1)", [1, 1], concat17, call25);
if12 = call16;
}
setLineNumber(15); // compilenode member
var call27 = selfRequest(var_$module, "Boolean", [0]);
setLineNumber(20); // typecheck
assertTypeOrMsg(GraceTrue, call27, "result of method visitDefDec(_)", "Boolean");
return GraceTrue;
}; // end of method visitDefDec(_)
setLineNumber(15); // compilenode member
var call28 = selfRequest(var_$module, "Boolean", [0]);
func11.returnType = call28;
this.methods["visitDefDec(1)"] = func11;
func11.methodName = "visitDefDec(1)";
func11.paramCounts = [1];
func11.paramNames = ["v"];
func11.definitionLine = 15;
func11.definitionModule = "requireTypes";
var func29 = function(argcv, var_v) { // method visitVarDec(_), line 22
var returnTarget = invocationCount;
invocationCount++;
const numArgs = arguments.length - 1;
if ((numArgs > 1) && (numArgs !== 1)) {
raiseTypeArgError("visitVarDec(_)", 0, numArgs - 1);
}
var if30 = GraceDone;
setLineNumber(23); // compilenode member
// call case 4: other requests
var call32 = request(var_v, "dtype", [0]);
// call case 4: other requests
var term31 = request(GraceFalse, "==(1)", [1], call32);
if (Grace_isTrue(term31)) {
setLineNumber(25); // compilenode string
var string37 = new GraceString("'");
// call case 4: other requests
// call case 4: other requests
// call case 4: other requests
var call40 = request(var_v, "name", [0]);
var call39 = request(call40, "value", [0]);
// call case 4: other requests
var string41 = new GraceString(" of var '");
var concat38 = request(string41, "++(1)", [1], call39);
var concat36 = request(concat38, "++(1)", [1], string37);
// call case 4: other requests
setLineNumber(24); // compilenode string
var string42 = new GraceString("no type given to declaration");
var concat35 = request(string42, "++(1)", [1], concat36);
setLineNumber(25); // compilenode member
// call case 4: other requests
var call43 = request(var_v, "name", [0]);
// call case 4: other requests
if (var_CheckerFailure === undefined) raiseUninitializedVariable("CheckerFailure");
var call34 = request(var_CheckerFailure, "raise(1)with(1)", [1, 1], concat35, call43);
if30 = call34;
}
setLineNumber(22); // compilenode member
var call45 = selfRequest(var_$module, "Boolean", [0]);
setLineNumber(27); // typecheck
assertTypeOrMsg(GraceTrue, call45, "result of method visitVarDec(_)", "Boolean");
return GraceTrue;
}; // end of method visitVarDec(_)
setLineNumber(22); // compilenode member
var call46 = selfRequest(var_$module, "Boolean", [0]);
func29.returnType = call46;
this.methods["visitVarDec(1)"] = func29;
func29.methodName = "visitVarDec(1)";
func29.paramCounts = [1];
func29.paramNames = ["v"];
func29.definitionLine = 22;
func29.definitionModule = "requireTypes";
var func47 = function(argcv, var_v) { // method visitMethodDec(_), line 29
var returnTarget = invocationCount;
invocationCount++;
const numArgs = arguments.length - 1;
if ((numArgs > 1) && (numArgs !== 1)) {
raiseTypeArgError("visitMethodDec(_)", 0, numArgs - 1);
}
setLineNumber(30); // compilenode block
var block49 = new GraceBlock(this, 30, 1);
block49.guard = jsTrue;
block49.real = function block49(var_p) {
var if50 = GraceDone;
setLineNumber(31); // compilenode block
var block52 = new GraceBlock(this, 31, 0);
block52.guard = jsTrue;
block52.real = function block52() {
setLineNumber(31); // compilenode member
// call case 4: other requests
var call55 = request(var_p, "dtype", [0]);
// call case 4: other requests
var term54 = request(GraceFalse, "==(1)", [1], call55);
// call case 4: other requests
// call case 4: other requests
// call case 4: other requests
var call58 = request(var_p, "wildcard", [0]);
var call57 = request(call58, "not", [0]);
var term53 = request(call57, "&&(1)", [1], term54);
return term53;
};
let applyMeth52 = function apply (argcv) {
return this.real.apply(this.receiver);
};
applyMeth52.methodName = "apply";
applyMeth52.paramCounts = [0];
applyMeth52.paramNames = [];
applyMeth52.definitionLine = 31;
applyMeth52.definitionModule = "requireTypes";
block52.methods["apply"] = applyMeth52;
// call case 4: other requests
// call case 4: other requests
var call59 = request(var_p, "isIdentifier", [0]);
var term51 = request(call59, "&&(1)", [1], block52);
if (Grace_isTrue(term51)) {
setLineNumber(33); // compilenode string
var string63 = new GraceString("'");
// call case 4: other requests
// call case 4: other requests
var call65 = request(var_p, "value", [0]);
// call case 4: other requests
var string66 = new GraceString(" of parameter '");
var concat64 = request(string66, "++(1)", [1], call65);
var concat62 = request(concat64, "++(1)", [1], string63);
// call case 4: other requests
setLineNumber(32); // compilenode string
var string67 = new GraceString("no type given to declaration");
var concat61 = request(string67, "++(1)", [1], concat62);
// call case 4: other requests
if (var_CheckerFailure === undefined) raiseUninitializedVariable("CheckerFailure");
var call60 = request(var_CheckerFailure, "raise(1)with(1)", [1, 1], concat61, var_p);
if50 = call60;
}
return if50;
};
let applyMeth49 = function apply_1 (argcv, ...args) {
if (this.guard.apply(this.receiver, args))
return this.real.apply(this.receiver, args);
badBlockArgs.apply(this, args);
};
applyMeth49.methodName = "apply(1)";
applyMeth49.paramCounts = [1];
applyMeth49.paramNames = ["p"];
applyMeth49.definitionLine = 30;
applyMeth49.definitionModule = "requireTypes";
block49.methods["apply(1)"] = applyMeth49;
let matchesMeth49 = function matches_1 (argcv, ...args) {
return this.guard.apply(this.receiver, args) ? GraceTrue : GraceFalse;
};
matchesMeth49.methodName = "matches(1)";
matchesMeth49.paramCounts = [1];
matchesMeth49.paramNames = ["p"];
matchesMeth49.definitionLine = 30;
matchesMeth49.definitionModule = "requireTypes";
block49.methods["matches(1)"] = matchesMeth49;
// call case 4: other requests
setLineNumber(30); // compilenode member
// call case 4: other requests
var call68 = request(var_v, "signatureParts", [0]);
var call48 = request(call68, "do(1)", [1], block49);
var if69 = GraceDone;
setLineNumber(36); // compilenode member
// call case 4: other requests
var call71 = request(var_v, "dtype", [0]);
// call case 4: other requests
var term70 = request(GraceFalse, "==(1)", [1], call71);
if (Grace_isTrue(term70)) {
setLineNumber(38); // compilenode string
var string76 = new GraceString("'");
// call case 4: other requests
// call case 4: other requests
// call case 4: other requests
var call79 = request(var_v, "value", [0]);
var call78 = request(call79, "value", [0]);
// call case 4: other requests
var string80 = new GraceString(" of method '");
var concat77 = request(string80, "++(1)", [1], call78);
var concat75 = request(concat77, "++(1)", [1], string76);
// call case 4: other requests
setLineNumber(37); // compilenode string
var string81 = new GraceString("no return type given to declaration");
var concat74 = request(string81, "++(1)", [1], concat75);
setLineNumber(38); // compilenode member
// call case 4: other requests
var call82 = request(var_v, "value", [0]);
// call case 4: other requests
if (var_CheckerFailure === undefined) raiseUninitializedVariable("CheckerFailure");
var call73 = request(var_CheckerFailure, "raise(1)with(1)", [1, 1], concat74, call82);
if69 = call73;
}
setLineNumber(29); // compilenode member
var call84 = selfRequest(var_$module, "Boolean", [0]);
setLineNumber(40); // typecheck
assertTypeOrMsg(GraceTrue, call84, "result of method visitMethodDec(_)", "Boolean");
return GraceTrue;
}; // end of method visitMethodDec(_)
setLineNumber(29); // compilenode member
var call85 = selfRequest(var_$module, "Boolean", [0]);
func47.returnType = call85;
this.methods["visitMethodDec(1)"] = func47;
func47.methodName = "visitMethodDec(1)";
func47.paramCounts = [1];
func47.paramNames = ["v"];
func47.definitionLine = 29;
func47.definitionModule = "requireTypes";
var func86 = function(argcv, var_v) { // method visitBlock(_), line 42
var returnTarget = invocationCount;
invocationCount++;
const numArgs = arguments.length - 1;
if ((numArgs > 1) && (numArgs !== 1)) {
raiseTypeArgError("visitBlock(_)", 0, numArgs - 1);
}
setLineNumber(43); // compilenode block
var block88 = new GraceBlock(this, 43, 1);
block88.guard = jsTrue;
block88.real = function block88(var_p) {
var if89 = GraceDone;
setLineNumber(44); // compilenode block
var block91 = new GraceBlock(this, 44, 0);
block91.guard = jsTrue;
block91.real = function block91() {
setLineNumber(44); // compilenode member
// call case 4: other requests
var call94 = request(var_p, "dtype", [0]);
// call case 4: other requests
var term93 = request(GraceFalse, "==(1)", [1], call94);
// call case 4: other requests
// call case 4: other requests
// call case 4: other requests
var call97 = request(var_p, "wildcard", [0]);
var call96 = request(call97, "not", [0]);
var term92 = request(call96, "&&(1)", [1], term93);
return term92;
};
let applyMeth91 = function apply (argcv) {
return this.real.apply(this.receiver);
};
applyMeth91.methodName = "apply";
applyMeth91.paramCounts = [0];
applyMeth91.paramNames = [];
applyMeth91.definitionLine = 44;
applyMeth91.definitionModule = "requireTypes";
block91.methods["apply"] = applyMeth91;
// call case 4: other requests
// call case 4: other requests
var call98 = request(var_p, "isIdentifier", [0]);
var term90 = request(call98, "&&(1)", [1], block91);
if (Grace_isTrue(term90)) {
setLineNumber(46); // compilenode string
var string102 = new GraceString("'");
// call case 4: other requests
// call case 4: other requests
var call104 = request(var_p, "value", [0]);
// call case 4: other requests
var string105 = new GraceString(" of block parameter '");
var concat103 = request(string105, "++(1)", [1], call104);
var concat101 = request(concat103, "++(1)", [1], string102);
// call case 4: other requests
setLineNumber(45); // compilenode string
var string106 = new GraceString("no type given to declaration");
var concat100 = request(string106, "++(1)", [1], concat101);
// call case 4: other requests
if (var_CheckerFailure === undefined) raiseUninitializedVariable("CheckerFailure");
var call99 = request(var_CheckerFailure, "raise(1)with(1)", [1, 1], concat100, var_p);
if89 = call99;
}
return if89;
};
let applyMeth88 = function apply_1 (argcv, ...args) {
if (this.guard.apply(this.receiver, args))
return this.real.apply(this.receiver, args);
badBlockArgs.apply(this, args);
};
applyMeth88.methodName = "apply(1)";
applyMeth88.paramCounts = [1];
applyMeth88.paramNames = ["p"];
applyMeth88.definitionLine = 43;
applyMeth88.definitionModule = "requireTypes";
block88.methods["apply(1)"] = applyMeth88;
let matchesMeth88 = function matches_1 (argcv, ...args) {
return this.guard.apply(this.receiver, args) ? GraceTrue : GraceFalse;
};
matchesMeth88.methodName = "matches(1)";
matchesMeth88.paramCounts = [1];
matchesMeth88.paramNames = ["p"];
matchesMeth88.definitionLine = 43;
matchesMeth88.definitionModule = "requireTypes";
block88.methods["matches(1)"] = matchesMeth88;
// call case 4: other requests
setLineNumber(43); // compilenode member
// call case 4: other requests
var call107 = request(var_v, "params", [0]);
var call87 = request(call107, "do(1)", [1], block88);
setLineNumber(42); // compilenode member
var call109 = selfRequest(var_$module, "Boolean", [0]);
setLineNumber(49); // typecheck
assertTypeOrMsg(GraceTrue, call109, "result of method visitBlock(_)", "Boolean");
return GraceTrue;
}; // end of method visitBlock(_)
setLineNumber(42); // compilenode member
var call110 = selfRequest(var_$module, "Boolean", [0]);
func86.returnType = call110;
this.methods["visitBlock(1)"] = func86;
func86.methodName = "visitBlock(1)";
func86.paramCounts = [1];
func86.paramNames = ["v"];
func86.definitionLine = 42;
func86.definitionModule = "requireTypes";
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 = 9;
m.definitionModule = "requireTypes";
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 obj7_init = function() { // init of object on line 9
initFun8.call(this);
};
return obj7_init; // from compileBuildAndInitFunctions(_)inMethod(_)
};
var obj7 = emptyGraceObject("staticVisitor", "requireTypes", 9);
var obj7_init = obj7_build.call(obj7, null, this, [], []);
obj7_init.call(obj7); // end of compileobject
var var_staticVisitor = obj7;
var reader111_staticVisitor = function() { // reader method staticVisitor
if (var_staticVisitor === undefined) raiseUninitializedVariable("staticVisitor");
return var_staticVisitor;
};
reader111_staticVisitor.isDef = true;
reader111_staticVisitor.confidential = true;
this.methods["staticVisitor"] = reader111_staticVisitor;
setLineNumber(53); // compilenode object
var obj112_build = function(ignore, outerObj, aliases, exclusions) {
this.closureKeys = this.closureKeys || [];
this.closureKeys.push("outer_requireTypes_53");
this.outer_requireTypes_53 = outerObj;
const inheritedExclusions = { };
for (var eix = 0, eLen = exclusions.length; eix < eLen; eix ++) {
const exMeth = exclusions[eix];
inheritedExclusions[exMeth] = this.methods[exMeth]; };
var func113 = function(argcv, var_moduleObj) { // method parseChecker(_), line 54
var returnTarget = invocationCount;
invocationCount++;
const numArgs = arguments.length - 1;
if ((numArgs > 1) && (numArgs !== 1)) {
raiseTypeArgError("parseChecker(_)", 0, numArgs - 1);
}
setLineNumber(55); // compilenode call
if (var_staticVisitor === undefined) raiseUninitializedVariable("staticVisitor");
// call case 4: other requests
var call114 = request(var_moduleObj, "accept(1)", [1], var_staticVisitor);
return call114;
}; // end of method parseChecker(_)
this.methods["parseChecker(1)"] = func113;
func113.methodName = "parseChecker(1)";
func113.paramCounts = [1];
func113.paramNames = ["moduleObj"];
func113.definitionLine = 54;
func113.definitionModule = "requireTypes";
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 = 53;
m.definitionModule = "requireTypes";
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 obj112_init = function() { // init of object on line 53
};
return obj112_init; // from compileBuildAndInitFunctions(_)inMethod(_)
};
var obj112 = emptyGraceObject("thisDialect", "requireTypes", 53);
var obj112_init = obj112_build.call(obj112, null, this, [], []);
obj112_init.call(obj112); // end of compileobject
var var_thisDialect = obj112;
var reader115_thisDialect = function() { // reader method thisDialect
if (var_thisDialect === undefined) raiseUninitializedVariable("thisDialect");
return var_thisDialect;
};
reader115_thisDialect.isDef = true;
this.methods["thisDialect"] = reader115_thisDialect;
return this;
}
if (typeof global !== "undefined")
global.gracecode_requireTypes = gracecode_requireTypes;
if (typeof window !== "undefined")
window.gracecode_requireTypes = gracecode_requireTypes;
gracecode_requireTypes.definitionModule = "requireTypes";
gracecode_requireTypes.sourceFile = gracecode_requireTypes_sourceFile;
gracecode_requireTypes.sha256 = gracecode_requireTypes_sha256;
gracecode_requireTypes.minigraceRevision = gracecode_requireTypes_minigraceRevision;
gracecode_requireTypes.minigraceGeneration = gracecode_requireTypes_minigraceGeneration;
gracecode_requireTypes.imports = [ ["ast", "c1d26bc71c2ce71d4d0dc13b35df6674feed8fbf8eea9ad23830485ae0e84f4b"],
["standardBundle", "7ae97ce42c7998e5a88e547ed5704778c1ad144f1af9834b3470064b36ee0799"] ];
gracecode_requireTypes.definitionLine = 1;