summaryrefslogtreecommitdiff
path: root/src/runner/runner.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-07 22:16:18 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-07 22:16:18 +0330
commit34099f0d7752a2fab5eadccfeb578b77b292c889 (patch)
tree31c628e40f802b58db8bb27d5a3d4a6ead7a57d7 /src/runner/runner.c
parent6bd439f35c1184f04488ee4f0db21632e1301b51 (diff)
add return
Diffstat (limited to 'src/runner/runner.c')
-rw-r--r--src/runner/runner.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/runner/runner.c b/src/runner/runner.c
index 790e6c5..1a9b24c 100644
--- a/src/runner/runner.c
+++ b/src/runner/runner.c
@@ -54,6 +54,15 @@ AstTree *runAstTreeFunction(AstTreeFunction *function) {
}
}
continue;
+ case AST_TREE_TOKEN_KEYWORD_RETURN: {
+ AstTreeReturn *metadata = expr.metadata;
+ if (metadata->value != NULL) {
+ return calcAstTreeValue(metadata->value);
+ } else {
+ return &AST_TREE_VOID_VALUE;
+ }
+ }
+ continue;
case AST_TREE_TOKEN_OPERATOR_SUM:
case AST_TREE_TOKEN_FUNCTION:
case AST_TREE_TOKEN_TYPE_TYPE: