summaryrefslogtreecommitdiff
path: root/src/runner/runner.c
diff options
context:
space:
mode:
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: