feat: allow empty argument list methods in calls, definitions, and docs

- Compile empty `()` as a valid method signature distinct from no parentheses
- Update `call()`, `clear()`, `run()`, `try()`, and `yield()` to use empty argument lists
- Revise documentation across multiple files to reflect new signature semantics
This commit is contained in:
Bob Nystrom
2015-02-27 07:08:36 +00:00
parent 94f34367f9
commit 5382fa05d7
94 changed files with 291 additions and 224 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ for (i in [1, 2, 3]) {
list.add(new Fn { IO.print(i) })
}
for (f in list) f.call
for (f in list) f.call()
// expect: 1
// expect: 2
// expect: 3
+1 -1
View File
@@ -5,7 +5,7 @@ for (i in [1, 2, 3]) {
list.add(new Fn { IO.print(j) })
}
for (f in list) f.call
for (f in list) f.call()
// expect: 2
// expect: 3
// expect: 4
+1 -1
View File
@@ -3,7 +3,7 @@ var f = new Fn {
return [1, 2, 3]
}
for (i in f.call) IO.print(i)
for (i in f.call()) IO.print(i)
// expect: evaluate sequence
// expect: 1
// expect: 2
+2 -2
View File
@@ -4,6 +4,6 @@ var f = new Fn {
}
}
var g = f.call
g.call
var g = f.call()
g.call()
// expect: 1
+1 -1
View File
@@ -4,5 +4,5 @@ var f = new Fn {
}
}
IO.print(f.call)
IO.print(f.call())
// expect: 1