diff options
Diffstat (limited to 'src/runner/runner.c')
-rw-r--r-- | src/runner/runner.c | 9 |
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: |