aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEdvard Thörnros <edvard.thornros@gmail.com>2021-03-08 23:11:32 +0100
committerEdvard Thörnros <edvard.thornros@gmail.com>2021-03-08 23:11:32 +0100
commitd6b4e028462f24861b8386dbd919f9ef977d9f01 (patch)
treecafa71f7bb6958f5d513dbab1129859fb1c6b63d /src
parent6ff6793c94fc715a5587c6515cf7ae989f0a1571 (diff)
downloadsylt-d6b4e028462f24861b8386dbd919f9ef977d9f01.tar.gz
return is implicit void
Diffstat (limited to 'src')
-rw-r--r--src/compiler.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler.rs b/src/compiler.rs
index 4c59d86..bdc5901 100644
--- a/src/compiler.rs
+++ b/src/compiler.rs
@@ -1752,7 +1752,13 @@ impl Compiler {
(Token::Ret, ..) => {
self.eat();
- self.expression(block);
+ if self.peek() == Token::Newline {
+ self.eat();
+ let nil = self.add_constant(Value::Nil);
+ add_op(self, block, Op::Constant(nil));
+ } else {
+ self.expression(block);
+ }
add_op(self, block, Op::Return);
}