UNPKG

minigrace

Version:

A compiler for the Grace programming language

619 lines (618 loc) 31.3 kB
let gracecode_animation_sourceFile = "/Users/black/Development/mg/gracelang/minigrace/modules/animation.grace"; let gracecode_animation_sha256 = "8f5243765125bf9f0fda61b541a0c1382d2d761d8d885e0184896d6cf0353620"; let gracecode_animation_minigraceRevision = "b57591d29fc5ee5270d114920bf671367b8c3ecb"; let gracecode_animation_minigraceGeneration = "5171"; if (typeof gctCache !== "undefined") gctCache["animation"] = "dialect:\n standard\nfreshScopes:\nmethodTypes:$100:\n for\u27e6T\u27e7(range':Collection\u27e6T\u27e7)pausing(pauseTime:Number)do(block:Procedure1\u27e6T\u27e7) \u2192 Done\n for\u27e6T\u27e7(range':Collection\u27e6T\u27e7)pausing(pauseTime:Number)do(block:Procedure1\u27e6T\u27e7)finally(endBlock:Procedure0) \u2192 Done\n while(condition:Predicate0)pauseVarying(timeBlock:NumberBlock)do(block:Procedure0) \u2192 Done\n while(condition:Predicate0)pausing(pauseTime:Number)do(block:Procedure0) \u2192 Done\n while(condition:Predicate0)pausing(pauseTime:Number)do(block:Procedure0)finally(endBlock:Procedure0) \u2192 Done\nmodules:\n standard\n timer\npath:\n /Users/black/Development/mg/gracelang/minigrace/objectdraw/animation.grace\nscope:$100:\n Animator type\n NumberBlock type\n asDebugString String (go) $scope_string\n asString String (go) $scope_string\n basicAsString String (go) $scope_string\n for(1)pausing(1)do(1) Done (mth) $scope_done\n for(1)pausing(1)do(1)finally(1) Done (mth) $scope_done\n isMe(1) Boolean (go) $scope_boolean\n myIdentityHash Number (go) $scope_number\n while(1)pauseVarying(1)do(1) Done (mth) $scope_done\n while(1)pausing(1)do(1) Done (mth) $scope_done\n while(1)pausing(1)do(1)finally(1) Done (mth) $scope_done\nself:\n $100\ntypedec:$100.Animator:\n type Animator = interface {\n while(condition:Predicate0)pausing(pauseTime:Number)do(block:Procedure0) \u2192 Done\n while(condition:Predicate0)pausing(pauseTime:Number)do(block:Procedure0)finally(endBlock:Procedure0) \u2192 Done\n while(condition:Predicate0)pauseVarying(timeBlock:NumberBlock)do(block:Procedure0) \u2192 Done\n for\u27e6T\u27e7(range':Collection\u27e6T\u27e7)pausing(pauseTime:Number)do(block:Procedure1\u27e6T\u27e7) \u2192 Done\n for\u27e6T\u27e7(range':Collection\u27e6T\u27e7)pausing(pauseTime:Number)do(block:Procedure1\u27e6T\u27e7)finally(endBlock:Procedure0) \u2192 Done}\ntypedec:$100.NumberBlock:\n type NumberBlock = Function0\u27e6Number\u27e7\ntypes:\n $100.Animator\n $100.NumberBlock\n"; if (typeof originalSourceLines !== "undefined") { originalSourceLines["animation"] = [ "dialect \"standard\"", "import \"timer\" as timer", "", "type NumberBlock = Function0⟦Number⟧", "", "type Animator = interface {", " // type of object that can simulate parallel animations", "", " while (condition:Predicate0) pausing (pauseTime:Number)", " do (block:Procedure0) -> Done", " // Repeatedly execute block while condition is true", "", " while (condition:Predicate0) pausing (pauseTime:Number)", " do (block:Procedure0) finally (endBlock:Procedure0) -> Done", " // Repeatedly execute block while condition is true, pausing pauseTime", " // between iterations. When condition fails, execute endBlock.", "", " while (condition:Predicate0) pauseVarying (timeBlock:NumberBlock)", " do (block:Procedure0) -> Done", " // Repeatedly execute block while condition is true, pausing a variable", " // amount of time (obtained by evaluating timeBlock) between iterations.", " // When condition fails, execute endBlock.", "", " for⟦T⟧ (range':Collection⟦T⟧) pausing (pauseTime:Number) do (block:Procedure1⟦T⟧) -> Done", " // Repeatedly execute block while condition is true", "", " for⟦T⟧ (range':Collection⟦T⟧) pausing (pauseTime:Number) do (block:Procedure1⟦T⟧)", " finally (endBlock:Procedure0) -> Done", " // Repeatedly execute block while condition is true", " // when condition fails, execute endBlock.", "", "}", "", "method while(condition:Predicate0) pausing (pauseTime:Number)", " do (block:Procedure0) -> Done {", " // Repeatedly execute block while condition is true", "", " def id:Number = timer.every (pauseTime) do {", " if (condition.apply) then {", " block.apply", " } else {", " timer.stop (id)", " }", " }", "}", "", "method while (condition:Predicate0) pausing (pauseTime:Number)", " do (block:Procedure0) finally (endBlock:Procedure0) -> Done {", " // Repeatedly execute block while condition is true, pausing by pauseTime", " // between iterations. When condition fails, execute endBlock.", "", " def id:Number = timer.every(pauseTime)do{", " if (condition.apply) then {", " block.apply", " } else {", " timer.stop(id)", " endBlock.apply", " }", " }", "}", "", "method while(condition:Predicate0) pauseVarying (timeBlock:NumberBlock)", " do (block:Procedure0) -> Done {", " // Repeatedly execute block while condition is true, pausing by", " // timeBlock.apply between iterations.", "", " if (condition.apply) then {", " block.apply", " timer.after(timeBlock.apply) do {", " while (condition) pauseVarying (timeBlock) do (block)", " }", " }", "}", "", "method for⟦T⟧(range':Collection⟦T⟧) pausing (pauseTime:Number)", " do (block:Procedure1⟦T⟧) -> Done {", " // Repeatedly execute block for each value in range', pausing pauseTime between", " // iterations; block should take an element of range' as an argument.", "", " def it = range'.iterator", " while {it.hasNext} pausing (pauseTime) do { block.apply(it.next) }", "}", "", "method for⟦T⟧ (range':Collection⟦T⟧) pausing (pauseTime:Number)", " do (block:Procedure1⟦T⟧) finally(endBlock:Procedure0) -> Done {", " // Repeatedly execute block for each value in range', pausing pauseTime between", " // iterations; block should take a T object as a parameter. When range'", " // is exhausted, execute endBlock.", "", " def it:Iterator⟦T⟧ = range'.iterator", " while {it.hasNext} pausing (pauseTime) do { block.apply(it.next) }", " finally(endBlock)", "}" ]; } function gracecode_animation() { importedModules["animation"] = this; const var_$module = this; this.definitionModule = "animation"; this.definitionLine = 1; setLineNumber(1); // compilenode dialect // Dialect "standard" const var_$dialect = do_import("standard", gracecode_standard); this.outer = var_$dialect; setLineNumber(2); // compilenode import // Import of "timer" as timer if (typeof gracecode_timer == "undefined") throw new GraceExceptionPacket(EnvironmentExceptionObject, new GraceString("could not find module timer")); var var_timer = do_import("timer", gracecode_timer); var func0 = function(argcv) { // accessor method timer, line 2 const numArgs = arguments.length - 1; if (numArgs > 0) raiseTypeArgError("timer", 0, numArgs - 0); return var_timer; }; // end of method timer this.methods["timer"] = func0; func0.methodName = "timer"; func0.paramCounts = [0]; func0.paramNames = []; func0.definitionLine = 2; func0.definitionModule = "animation"; func0.debug = "import"; func0.confidential = true; this.closureKeys = this.closureKeys || []; this.closureKeys.push("outer_animation_1"); this.outer_animation_1 = var_$dialect; setLineNumber(4); // compilenode typedec // Type decl NumberBlock var func2 = function(argcv) { // method NumberBlock, line 1 var returnTarget = invocationCount; invocationCount++; setLineNumber(4); // compilenode member var call3 = selfRequest(var_$dialect, "Function0", [0]); return call3; }; // end of method NumberBlock function memofunc2(argcv) { if (! this.data["memo$NumberBlock"]) // parameterless memo function this.data["memo$NumberBlock"] = func2.call(this, argcv); return this.data["memo$NumberBlock"]; }; this.methods["NumberBlock"] = memofunc2; memofunc2.methodName = "NumberBlock"; memofunc2.paramCounts = [0]; memofunc2.paramNames = []; memofunc2.definitionLine = 1; memofunc2.definitionModule = "animation"; func2.methodName = "NumberBlock"; func2.paramCounts = [0]; func2.paramNames = []; func2.definitionLine = 1; func2.definitionModule = "animation"; setLineNumber(6); // compilenode typedec // Type decl Animator var func5 = function(argcv) { // method Animator, line 1 var returnTarget = invocationCount; invocationCount++; setLineNumber(6); // compilenode interfaceliteral // interface literal var iface6 = new GraceInterface("Animator"); sig7 = () => { setLineNumber(9); // compilenode member var call8 = selfRequest(var_$dialect, "Predicate0", [0]); var call9 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(10); // compilenode member var call10 = selfRequest(var_$dialect, "Procedure0", [0]); var call11 = selfRequest(var_$dialect, "Done", [0]); return new GraceSignature("while(1)pausing(1)do(1)", ["condition", "pauseTime", "block"], [], [call8, call9, call10], call11); } sig12 = () => { setLineNumber(13); // compilenode member var call13 = selfRequest(var_$dialect, "Predicate0", [0]); var call14 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(14); // compilenode member var call15 = selfRequest(var_$dialect, "Procedure0", [0]); var call16 = selfRequest(var_$dialect, "Procedure0", [0]); var call17 = selfRequest(var_$dialect, "Done", [0]); return new GraceSignature("while(1)pausing(1)do(1)finally(1)", ["condition", "pauseTime", "block", "endBlock"], [], [call13, call14, call15, call16], call17); } sig18 = () => { setLineNumber(18); // compilenode member var call19 = selfRequest(var_$dialect, "Predicate0", [0]); var call20 = selfRequest(var_$module, "NumberBlock", [0]); setLineNumber(19); // compilenode member var call21 = selfRequest(var_$dialect, "Procedure0", [0]); var call22 = selfRequest(var_$dialect, "Done", [0]); return new GraceSignature("while(1)pauseVarying(1)do(1)", ["condition", "timeBlock", "block"], [], [call19, call20, call21], call22); } sig23 = (var_T) => { setLineNumber(24); // compilenode member var call24 = selfRequest(var_$dialect, "Collection", [0]); var call25 = selfRequest(var_$dialect, "Number", [0]); var call26 = selfRequest(var_$dialect, "Procedure1", [0]); var call27 = selfRequest(var_$dialect, "Done", [0]); return new GraceSignature("for(1)pausing(1)do(1)", ["range'", "pauseTime", "block"], ["T"], [call24, call25, call26], call27); } sig28 = (var_T) => { setLineNumber(27); // compilenode member var call29 = selfRequest(var_$dialect, "Collection", [0]); var call30 = selfRequest(var_$dialect, "Number", [0]); var call31 = selfRequest(var_$dialect, "Procedure1", [0]); setLineNumber(28); // compilenode member var call32 = selfRequest(var_$dialect, "Procedure0", [0]); var call33 = selfRequest(var_$dialect, "Done", [0]); return new GraceSignature("for(1)pausing(1)do(1)finally(1)", ["range'", "pauseTime", "block", "endBlock"], ["T"], [call29, call30, call31, call32], call33); } iface6.typeMethods = { "while(1)pausing(1)do(1)": sig7 , "while(1)pausing(1)do(1)finally(1)": sig12 , "while(1)pauseVarying(1)do(1)": sig18 , "for(1)pausing(1)do(1)": sig23 , "for(1)pausing(1)do(1)finally(1)": sig28 }; return iface6; }; // end of method Animator function memofunc5(argcv) { if (! this.data["memo$Animator"]) // parameterless memo function this.data["memo$Animator"] = func5.call(this, argcv); return this.data["memo$Animator"]; }; this.methods["Animator"] = memofunc5; memofunc5.methodName = "Animator"; memofunc5.paramCounts = [0]; memofunc5.paramNames = []; memofunc5.definitionLine = 1; memofunc5.definitionModule = "animation"; func5.methodName = "Animator"; func5.paramCounts = [0]; func5.paramNames = []; func5.definitionLine = 1; func5.definitionModule = "animation"; var func34 = function(argcv, var_condition, var_pauseTime, var_block) { // method while(_)pausing(_)do(_), line 34 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 3) && (numArgs !== 3)) { raiseTypeArgError("while(_)pausing(_)do(_)", 0, numArgs - 3); } setLineNumber(34); // compilenode member var call35 = selfRequest(var_$dialect, "Predicate0", [0]); assertTypeOrMsg(var_condition, call35, "argument 1 in request of `while(_)pausing(_)do(_)`", "Predicate0"); var call36 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_pauseTime, call36, "argument 2 in request of `while(_)pausing(_)do(_)`", "Number"); setLineNumber(35); // compilenode member var call37 = selfRequest(var_$dialect, "Procedure0", [0]); assertTypeOrMsg(var_block, call37, "argument 3 in request of `while(_)pausing(_)do(_)`", "Procedure0"); setLineNumber(38); // compilenode block var block39 = new GraceBlock(this, 38, 0); block39.guard = jsTrue; block39.real = function block39() { var if40 = GraceDone; setLineNumber(39); // compilenode member // call case 4: other requests var call41 = request(var_condition, "apply", [0]); if (Grace_isTrue(call41)) { setLineNumber(40); // compilenode member // call case 4: other requests var call42 = request(var_block, "apply", [0]); if40 = call42; } else { setLineNumber(42); // compilenode call if (var_id === undefined) raiseUninitializedVariable("id"); // call case 4: other requests var call43 = request(var_timer, "stop(1)", [1], var_id); if40 = call43; } return if40; }; let applyMeth39 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth39.methodName = "apply"; applyMeth39.paramCounts = [0]; applyMeth39.paramNames = []; applyMeth39.definitionLine = 38; applyMeth39.definitionModule = "animation"; block39.methods["apply"] = applyMeth39; // call case 4: other requests var call38 = request(var_timer, "every(1)do(1)", [1, 1], var_pauseTime, block39); var var_id = call38; setLineNumber(38); // compilenode member var call44 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_id, call44, "value of def id", "Number"); return GraceDone; }; // end of method while(_)pausing(_)do(_) setLineNumber(34); // compilenode member var call45 = selfRequest(var_$dialect, "Predicate0", [0]); var call46 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(35); // compilenode member var call47 = selfRequest(var_$dialect, "Procedure0", [0]); func34.paramTypes = [call45, call46, call47]; var call48 = selfRequest(var_$dialect, "Done", [0]); func34.returnType = call48; this.methods["while(1)pausing(1)do(1)"] = func34; func34.methodName = "while(1)pausing(1)do(1)"; func34.paramCounts = [1, 1, 1]; func34.paramNames = ["condition", "pauseTime", "block"]; func34.definitionLine = 34; func34.definitionModule = "animation"; var func49 = function(argcv, var_condition, var_pauseTime, var_block, var_endBlock) { // method while(_)pausing(_)do(_)finally(_), line 47 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 4) && (numArgs !== 4)) { raiseTypeArgError("while(_)pausing(_)do(_)finally(_)", 0, numArgs - 4); } setLineNumber(47); // compilenode member var call50 = selfRequest(var_$dialect, "Predicate0", [0]); assertTypeOrMsg(var_condition, call50, "argument 1 in request of `while(_)pausing(_)do(_)finally(_)`", "Predicate0"); var call51 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_pauseTime, call51, "argument 2 in request of `while(_)pausing(_)do(_)finally(_)`", "Number"); setLineNumber(48); // compilenode member var call52 = selfRequest(var_$dialect, "Procedure0", [0]); assertTypeOrMsg(var_block, call52, "argument 3 in request of `while(_)pausing(_)do(_)finally(_)`", "Procedure0"); var call53 = selfRequest(var_$dialect, "Procedure0", [0]); assertTypeOrMsg(var_endBlock, call53, "argument 4 in request of `while(_)pausing(_)do(_)finally(_)`", "Procedure0"); setLineNumber(52); // compilenode block var block55 = new GraceBlock(this, 52, 0); block55.guard = jsTrue; block55.real = function block55() { var if56 = GraceDone; setLineNumber(53); // compilenode member // call case 4: other requests var call57 = request(var_condition, "apply", [0]); if (Grace_isTrue(call57)) { setLineNumber(54); // compilenode member // call case 4: other requests var call58 = request(var_block, "apply", [0]); if56 = call58; } else { setLineNumber(56); // compilenode call if (var_id === undefined) raiseUninitializedVariable("id"); // call case 4: other requests var call59 = request(var_timer, "stop(1)", [1], var_id); setLineNumber(57); // compilenode member // call case 4: other requests var call60 = request(var_endBlock, "apply", [0]); if56 = call60; } return if56; }; let applyMeth55 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth55.methodName = "apply"; applyMeth55.paramCounts = [0]; applyMeth55.paramNames = []; applyMeth55.definitionLine = 52; applyMeth55.definitionModule = "animation"; block55.methods["apply"] = applyMeth55; // call case 4: other requests var call54 = request(var_timer, "every(1)do(1)", [1, 1], var_pauseTime, block55); var var_id = call54; setLineNumber(52); // compilenode member var call61 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_id, call61, "value of def id", "Number"); return GraceDone; }; // end of method while(_)pausing(_)do(_)finally(_) setLineNumber(47); // compilenode member var call62 = selfRequest(var_$dialect, "Predicate0", [0]); var call63 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(48); // compilenode member var call64 = selfRequest(var_$dialect, "Procedure0", [0]); var call65 = selfRequest(var_$dialect, "Procedure0", [0]); func49.paramTypes = [call62, call63, call64, call65]; var call66 = selfRequest(var_$dialect, "Done", [0]); func49.returnType = call66; this.methods["while(1)pausing(1)do(1)finally(1)"] = func49; func49.methodName = "while(1)pausing(1)do(1)finally(1)"; func49.paramCounts = [1, 1, 1, 1]; func49.paramNames = ["condition", "pauseTime", "block", "endBlock"]; func49.definitionLine = 47; func49.definitionModule = "animation"; var func67 = function(argcv, var_condition, var_timeBlock, var_block) { // method while(_)pauseVarying(_)do(_), line 62 var returnTarget = invocationCount; invocationCount++; const numArgs = arguments.length - 1; if ((numArgs > 3) && (numArgs !== 3)) { raiseTypeArgError("while(_)pauseVarying(_)do(_)", 0, numArgs - 3); } setLineNumber(62); // compilenode member var call68 = selfRequest(var_$dialect, "Predicate0", [0]); assertTypeOrMsg(var_condition, call68, "argument 1 in request of `while(_)pauseVarying(_)do(_)`", "Predicate0"); var call69 = selfRequest(var_$module, "NumberBlock", [0]); assertTypeOrMsg(var_timeBlock, call69, "argument 2 in request of `while(_)pauseVarying(_)do(_)`", "NumberBlock"); setLineNumber(63); // compilenode member var call70 = selfRequest(var_$dialect, "Procedure0", [0]); assertTypeOrMsg(var_block, call70, "argument 3 in request of `while(_)pauseVarying(_)do(_)`", "Procedure0"); var if71 = GraceDone; setLineNumber(67); // compilenode member // call case 4: other requests var call72 = request(var_condition, "apply", [0]); if (Grace_isTrue(call72)) { setLineNumber(68); // compilenode member // call case 4: other requests var call73 = request(var_block, "apply", [0]); setLineNumber(69); // compilenode member // call case 4: other requests var call75 = request(var_timeBlock, "apply", [0]); var block76 = new GraceBlock(this, 69, 0); block76.guard = jsTrue; block76.real = function block76() { setLineNumber(70); // compilenode call var call77 = selfRequest(var_$module, "while(1)pauseVarying(1)do(1)", [1, 1, 1], var_condition, var_timeBlock, var_block); return call77; }; let applyMeth76 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth76.methodName = "apply"; applyMeth76.paramCounts = [0]; applyMeth76.paramNames = []; applyMeth76.definitionLine = 69; applyMeth76.definitionModule = "animation"; block76.methods["apply"] = applyMeth76; // call case 4: other requests var call74 = request(var_timer, "after(1)do(1)", [1, 1], call75, block76); if71 = call74; } return if71; }; // end of method while(_)pauseVarying(_)do(_) setLineNumber(62); // compilenode member var call78 = selfRequest(var_$dialect, "Predicate0", [0]); var call79 = selfRequest(var_$module, "NumberBlock", [0]); setLineNumber(63); // compilenode member var call80 = selfRequest(var_$dialect, "Procedure0", [0]); func67.paramTypes = [call78, call79, call80]; var call81 = selfRequest(var_$dialect, "Done", [0]); func67.returnType = call81; this.methods["while(1)pauseVarying(1)do(1)"] = func67; func67.methodName = "while(1)pauseVarying(1)do(1)"; func67.paramCounts = [1, 1, 1]; func67.paramNames = ["condition", "timeBlock", "block"]; func67.definitionLine = 62; func67.definitionModule = "animation"; var func82 = function(argcv, var_range__39__, var_pauseTime, var_block, var_T) { // method for(_)pausing(_)do(_), line 75 var returnTarget = invocationCount; invocationCount++; if (! var_T) var_T = type_Unknown; const numArgs = arguments.length - 1; if ((numArgs > 3) && (numArgs !== 4)) { raiseTypeArgError("for(_)pausing(_)do(_)", 1, numArgs - 3); } setLineNumber(75); // compilenode member var call83 = selfRequest(var_$dialect, "Collection", [0]); assertTypeOrMsg(var_range__39__, call83, "argument 1 in request of `for(_)pausing(_)do(_)`", "Collection"); var call84 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_pauseTime, call84, "argument 2 in request of `for(_)pausing(_)do(_)`", "Number"); setLineNumber(76); // compilenode member var call85 = selfRequest(var_$dialect, "Procedure1", [0]); assertTypeOrMsg(var_block, call85, "argument 3 in request of `for(_)pausing(_)do(_)`", "Procedure1"); setLineNumber(80); // compilenode member // call case 4: other requests var call86 = request(var_range__39__, "iterator", [0]); var var_it = call86; setLineNumber(81); // compilenode block var block88 = new GraceBlock(this, 81, 0); block88.guard = jsTrue; block88.real = function block88() { setLineNumber(81); // compilenode member // call case 4: other requests if (var_it === undefined) raiseUninitializedVariable("it"); var call89 = request(var_it, "hasNext", [0]); return call89; }; let applyMeth88 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth88.methodName = "apply"; applyMeth88.paramCounts = [0]; applyMeth88.paramNames = []; applyMeth88.definitionLine = 81; applyMeth88.definitionModule = "animation"; block88.methods["apply"] = applyMeth88; var block90 = new GraceBlock(this, 81, 0); block90.guard = jsTrue; block90.real = function block90() { setLineNumber(81); // compilenode member // call case 4: other requests if (var_it === undefined) raiseUninitializedVariable("it"); var call92 = request(var_it, "next", [0]); // call case 4: other requests var call91 = request(var_block, "apply(1)", [1], call92); return call91; }; let applyMeth90 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth90.methodName = "apply"; applyMeth90.paramCounts = [0]; applyMeth90.paramNames = []; applyMeth90.definitionLine = 81; applyMeth90.definitionModule = "animation"; block90.methods["apply"] = applyMeth90; var call87 = selfRequest(var_$module, "while(1)pausing(1)do(1)", [1, 1, 1], block88, var_pauseTime, block90); return call87; }; // end of method for(_)pausing(_)do(_) func82.paramTypes = (var_T) => { setLineNumber(75); // compilenode member var call93 = selfRequest(var_$dialect, "Collection", [0]); var call94 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(76); // compilenode member var call95 = selfRequest(var_$dialect, "Procedure1", [0]); return [call93, call94, call95]; } func82.returnType = (var_T) => { var call96 = selfRequest(var_$dialect, "Done", [0]); return call96; } this.methods["for(1)pausing(1)do(1)"] = func82; func82.methodName = "for(1)pausing(1)do(1)"; func82.paramCounts = [1, 1, 1]; func82.paramNames = ["range'", "pauseTime", "block"]; func82.typeParamNames = ["T"]; func82.definitionLine = 75; func82.definitionModule = "animation"; var func97 = function(argcv, var_range__39__, var_pauseTime, var_block, var_endBlock, var_T) { // method for(_)pausing(_)do(_)finally(_), line 84 var returnTarget = invocationCount; invocationCount++; if (! var_T) var_T = type_Unknown; const numArgs = arguments.length - 1; if ((numArgs > 4) && (numArgs !== 5)) { raiseTypeArgError("for(_)pausing(_)do(_)finally(_)", 1, numArgs - 4); } setLineNumber(84); // compilenode member var call98 = selfRequest(var_$dialect, "Collection", [0]); assertTypeOrMsg(var_range__39__, call98, "argument 1 in request of `for(_)pausing(_)do(_)finally(_)`", "Collection"); var call99 = selfRequest(var_$dialect, "Number", [0]); assertTypeOrMsg(var_pauseTime, call99, "argument 2 in request of `for(_)pausing(_)do(_)finally(_)`", "Number"); setLineNumber(85); // compilenode member var call100 = selfRequest(var_$dialect, "Procedure1", [0]); assertTypeOrMsg(var_block, call100, "argument 3 in request of `for(_)pausing(_)do(_)finally(_)`", "Procedure1"); var call101 = selfRequest(var_$dialect, "Procedure0", [0]); assertTypeOrMsg(var_endBlock, call101, "argument 4 in request of `for(_)pausing(_)do(_)finally(_)`", "Procedure0"); setLineNumber(90); // compilenode member // call case 4: other requests var call102 = request(var_range__39__, "iterator", [0]); var var_it = call102; var call103 = selfRequest(var_$dialect, "Iterator", [0]); assertTypeOrMsg(var_it, call103, "value of def it", "Iterator"); setLineNumber(91); // compilenode block var block105 = new GraceBlock(this, 91, 0); block105.guard = jsTrue; block105.real = function block105() { setLineNumber(91); // compilenode member // call case 4: other requests if (var_it === undefined) raiseUninitializedVariable("it"); var call106 = request(var_it, "hasNext", [0]); return call106; }; let applyMeth105 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth105.methodName = "apply"; applyMeth105.paramCounts = [0]; applyMeth105.paramNames = []; applyMeth105.definitionLine = 91; applyMeth105.definitionModule = "animation"; block105.methods["apply"] = applyMeth105; var block107 = new GraceBlock(this, 91, 0); block107.guard = jsTrue; block107.real = function block107() { setLineNumber(91); // compilenode member // call case 4: other requests if (var_it === undefined) raiseUninitializedVariable("it"); var call109 = request(var_it, "next", [0]); // call case 4: other requests var call108 = request(var_block, "apply(1)", [1], call109); return call108; }; let applyMeth107 = function apply (argcv) { return this.real.apply(this.receiver); }; applyMeth107.methodName = "apply"; applyMeth107.paramCounts = [0]; applyMeth107.paramNames = []; applyMeth107.definitionLine = 91; applyMeth107.definitionModule = "animation"; block107.methods["apply"] = applyMeth107; var call104 = selfRequest(var_$module, "while(1)pausing(1)do(1)finally(1)", [1, 1, 1, 1], block105, var_pauseTime, block107, var_endBlock); return call104; }; // end of method for(_)pausing(_)do(_)finally(_) func97.paramTypes = (var_T) => { setLineNumber(84); // compilenode member var call110 = selfRequest(var_$dialect, "Collection", [0]); var call111 = selfRequest(var_$dialect, "Number", [0]); setLineNumber(85); // compilenode member var call112 = selfRequest(var_$dialect, "Procedure1", [0]); var call113 = selfRequest(var_$dialect, "Procedure0", [0]); return [call110, call111, call112, call113]; } func97.returnType = (var_T) => { var call114 = selfRequest(var_$dialect, "Done", [0]); return call114; } this.methods["for(1)pausing(1)do(1)finally(1)"] = func97; func97.methodName = "for(1)pausing(1)do(1)finally(1)"; func97.paramCounts = [1, 1, 1, 1]; func97.paramNames = ["range'", "pauseTime", "block", "endBlock"]; func97.typeParamNames = ["T"]; func97.definitionLine = 84; func97.definitionModule = "animation"; return this; } if (typeof global !== "undefined") global.gracecode_animation = gracecode_animation; if (typeof window !== "undefined") window.gracecode_animation = gracecode_animation; gracecode_animation.definitionModule = "animation"; gracecode_animation.sourceFile = gracecode_animation_sourceFile; gracecode_animation.sha256 = gracecode_animation_sha256; gracecode_animation.minigraceRevision = gracecode_animation_minigraceRevision; gracecode_animation.minigraceGeneration = gracecode_animation_minigraceGeneration; gracecode_animation.imports = [ ["standard", "5016aa3a5b2e0d35a67289d21c1e41cf8d73bef931ceea7b35f6a8b10a1386cf"], ["timer", "185c9965b498538e4b81db6c4b5f94de0d5a198f8bc2107a15e322247c15647f"] ]; gracecode_animation.definitionLine = 1;