Unify body handling.
Blocks, functions, and methods now have the same code for handling their bodies. This means that single-line methods work like single-line functions: they return the result of their expression.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
class Foo {
|
||||
toString { return "Foo" }
|
||||
toString { "Foo" }
|
||||
}
|
||||
|
||||
// Classes inherit the argument-less "new" one by default.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Foo {
|
||||
+ other { return "Foo " + other }
|
||||
+ other { "Foo " + other }
|
||||
}
|
||||
|
||||
IO.print(new Foo + "value") // expect: Foo value
|
||||
|
||||
@@ -3,7 +3,7 @@ class Foo {
|
||||
new(a) { IO.print(a) }
|
||||
new(a, b) { IO.print(a + b) }
|
||||
|
||||
toString { return "Foo" }
|
||||
toString { "Foo" }
|
||||
}
|
||||
|
||||
// Can overload by arity.
|
||||
|
||||
@@ -4,7 +4,7 @@ class A {
|
||||
_field = arg
|
||||
}
|
||||
|
||||
aField { return _field }
|
||||
aField { _field }
|
||||
}
|
||||
|
||||
class B is A {
|
||||
@@ -14,7 +14,7 @@ class B is A {
|
||||
_field = arg1
|
||||
}
|
||||
|
||||
bField { return _field }
|
||||
bField { _field }
|
||||
}
|
||||
|
||||
class C is B {
|
||||
@@ -24,7 +24,7 @@ class C is B {
|
||||
_field = "c"
|
||||
}
|
||||
|
||||
cField { return _field }
|
||||
cField { _field }
|
||||
}
|
||||
|
||||
var c = new C
|
||||
|
||||
Reference in New Issue
Block a user