@@ -385,21 +385,22 @@ handlerMap.set(SyntaxKind.IF_STATEMENT, (frame) => {
385385
386386handlerMap . set ( SyntaxKind . FOR_STATEMENT , ( frame ) => {
387387 // assertNotAssignable();
388- // env = extend(env);
388+ // env = extend(env); // [0]
389389 // let name = forStatementName(node).payload as string;
390390 // bindReadonly(env, name, new UninitValue());
391391 // let arrayExpr = forStatementArrayExpr(node);
392- // let arrayValue = eval(arrayExpr);
392+ // let arrayValue = eval(arrayExpr); // [1]
393393 // if (!(arrayValue instanceof ArrayValue)) {
394394 // throw new E603_TypeError("Type error: not an array");
395395 // }
396396 // let body = forStatementBody(node);
397397 // for (let index = 0; index < arrayValue.elements.length; index++) {
398+ // // [2]
398399 // let bodyEnv = extend(kont.env);
399400 // let element = arrayValue.elements[0];
400401 // bindReadonly(bodyEnv, kont.name, element);
401402 // // (set up jumpMap stuff)
402- // eval(body, bodyEnv);
403+ // eval(body, bodyEnv); // [3]
403404 // }
404405 // return new NoneValue();
405406
@@ -448,10 +449,10 @@ handlerMap.set(SyntaxKind.FOR_STATEMENT, (frame) => {
448449} ) ;
449450
450451handlerMap . set ( SyntaxKind . WHILE_STATEMENT , ( frame ) => {
451- // let condExpr = whileStatementCondExpr(node);
452+ // let condExpr = whileStatementCondExpr(node); // [0]
452453 // let body = whileStatementBody(node);
453454 // let cond = eval(condExpr);
454- // while (boolify(cond)) {
455+ // while (boolify(cond)) { // [1]
455456 // // (set up jumpMap stuff)
456457 // eval(body);
457458 // cond = eval(condExpr);
@@ -501,15 +502,15 @@ handlerMap.set(SyntaxKind.NEXT_STATEMENT, (frame) => {
501502} ) ;
502503
503504handlerMap . set ( SyntaxKind . RETURN_STATEMENT , ( frame ) => {
504- // let expr = returnStatementExpr(node);
505+ // let expr = returnStatementExpr(node); // [0]
505506 // let value;
506507 // if (isEmptyPlaceholder(expr)) {
507508 // value = new NoneValue();
508509 // }
509510 // else {
510511 // value = eval(expr);
511512 // }
512- // (jump to jumpMap.returnTarget with value)
513+ // (jump to jumpMap.returnTarget with value) // [1]
513514
514515 let expr = returnStatementExpr ( frame . node ) ;
515516 switch ( frame . state ) {
@@ -541,13 +542,13 @@ handlerMap.set(SyntaxKind.RETURN_STATEMENT, (frame) => {
541542
542543handlerMap . set ( SyntaxKind . VAR_DECL , ( frame ) => {
543544 // assertNotAssignable();
544- // let initExpr = varDeclInitExpr(node);
545+ // let initExpr = varDeclInitExpr(node); // [0]
545546 // if (isEmptyPlaceholder(initExpr)) {
546547 // return new NoneValue();
547548 // }
548549 // else {
549550 // let value = eval(initExpr);
550- // let name = varDeclName(node).payload as string;
551+ // let name = varDeclName(node).payload as string; // [1]
551552 // bindMutable(env, name, value);
552553 // return new NoneValue();
553554 // }
@@ -658,14 +659,14 @@ handlerMap.set(SyntaxKind.CHAINED_OP_EXPR, (frame) => {
658659} ) ;
659660
660661handlerMap . set ( SyntaxKind . INDEXING_EXPR , ( frame ) => {
661- // let arrayExpr = indexingExprArrayExpr(node);
662+ // let arrayExpr = indexingExprArrayExpr(node); // [0]
662663 // let array = eval(arrayExpr);
663- // if (!(array instanceof ArrayValue)) {
664+ // if (!(array instanceof ArrayValue)) { // [1]
664665 // throw new E603_TypeError("Can only index an Array");
665666 // }
666667 // let indexExpr = indexingExprIndexExpr(node);
667668 // let index = eval(indexExpr);
668- // if (!(index instanceof IntValue)) {
669+ // if (!(index instanceof IntValue)) { // [2]
669670 // throw new E603_TypeError("Can only index using an Int");
670671 // }
671672 // if (index.payload < 0 || index.payload >= array.elements.length) {
@@ -855,7 +856,7 @@ handlerMap.set(SyntaxKind.ARRAY_INITIALIZER_EXPR, (frame) => {
855856 // let elemValues = [];
856857 // for (let index = 0; index < elements.length; index++) { // [0]
857858 // let value = eval(elements[index]);
858- // elemValues[index] = value;
859+ // elemValues[index] = value; // [1]
859860 // }
860861 // return new ArrayValue(elemValues);
861862
@@ -903,7 +904,7 @@ handlerMap.set(SyntaxKind.QUOTE_EXPR, (frame) => {
903904 // assertNotAssignable(frame);
904905 // let statements = quoteExprStatements(node);
905906 // let statementValues: Array<Value> = [];
906- // for (let index = 0; index < statements.length; index++) {
907+ // for (let index = 0; index < statements.length; index++) { // [0]
907908 // statementValues[index] = interpolate(statement); // [1]
908909 // }
909910 //
0 commit comments