From: NeilBrown <neil@brown.name>
Date: Sun, 7 Nov 2021 00:04:34 +0000 (+1100)
Subject: oceani: add an 'interp' case for Func
X-Git-Url: https://ocean-lang.org/code/?a=commitdiff_plain;h=c9827dcb3cb79fe907633b8badd1e5fd918ca388;p=ocean

oceani: add an 'interp' case for Func

For Func we jut call interp_exec on b->right.
This ensures that interp_exec() gets called on each exec, so
it can do cleanup (in future patch).

Signed-off-by: NeilBrown <neil@brown.name>
---

diff --git a/csrc/oceani.mdc b/csrc/oceani.mdc
index 1be7c67..c820d39 100644
--- a/csrc/oceani.mdc
+++ b/csrc/oceani.mdc
@@ -4503,13 +4503,16 @@ analysis is a bit more interesting at this level.
 			}
 			al = cast(binode, al->right);
 		}
-		v = interp_exec(c, p->right, &vtype);
+		v = interp_exec(c, p, &vtype);
 		free_value(vtype, &v);
 	}
 
 ###### interp binode cases
-	case List:
-	case Func: abort();	// NOTEST
+	case List: abort();	// NOTEST
+
+	case Func:
+		rv = interp_exec(c, b->right, &rvtype);
+		break;
 
 ## And now to test it out.