###### test: functions
- func test1 then
+ func test1
t: Boolean
do
if t:
do
pass
+ func twoarg
+ a:number
+ b:string
+ do
+ while a > 0:
+ print b
+ a = a - 1
+
func test(n:number; s:string)
if n >= 1:
print n,s,
print c.foo
print bar.c
print bar.b + 42
-
// trigger 'labels not permitted' error message
while 1 if True else False:
.tmp.code:33:14: error: field reference attempted on string, not a struct
.tmp.code:34:14: error: cannot find requested field in foo
.tmp.code:35:17: error: have string but need number
- .tmp.code:39:29: error: expected number (labels not permitted) found Boolean
+ .tmp.code:38:29: error: expected number (labels not permitted) found Boolean
oceani: type error in program - not running.
###### test: type_err4
func test2(a:number; b:string; c:[3]Boolean)
print a, b, c[1]
+ func test3()
+ # use undefined names
+ print a, z
+
func main()
truth:[3]Boolean
truth[1] = True
pass
###### output: func_err_args
- .tmp.code:11:14: error: insufficient arguments to function.
- .tmp.code:12:14: error: expected number found string
- .tmp.code:12:22: error: expected string found number
- .tmp.code:12:14: error: insufficient arguments to function.
- .tmp.code:14:17: error: expected string found number
- .tmp.code:15:14: error: too many arguments to function.
- .tmp.code:16:14: error: attempt to call a non-function.
- .tmp.code:16:32: error: expected string found number
- .tmp.code:16:28: error: insufficient arguments to function.
- .tmp.code:17:20: error: expected func but variable 'test2' is func
+ .tmp.code:15:14: error: insufficient arguments to function.
+ .tmp.code:16:14: error: expected number found string
+ .tmp.code:16:22: error: expected string found number
+ .tmp.code:16:14: error: insufficient arguments to function.
+ .tmp.code:18:17: error: expected string found number
+ .tmp.code:19:14: error: too many arguments to function.
+ .tmp.code:20:14: error: attempt to call a non-function.
+ .tmp.code:20:32: error: expected string found number
+ .tmp.code:20:28: error: insufficient arguments to function.
+ .tmp.code:21:20: error: expected func but variable 'test2' is func
.tmp.code:??:??: info: this is where 'NOTVAR' was set to func
+ .tmp.code:10:14: error: variable used but not declared: a
+ .tmp.code:10:17: error: variable used but not declared: z
oceani: type error in program - not running.
###### test: func_err_redeclare
do
pass
- func test1 then
+ func test1
b:Boolean
do
pass