Files
cogo/demo.cogo.go
2023-01-20 06:58:22 +04:00

55 lines
620 B
Go
Executable File

// Code generated by 'cogo'; DO NOT EDIT.
package main
import (
"time"
"github.com/bloeys/cogo/cogo"
)
func test_cogo(c *cogo.Coroutine[int, int]) {
switch c.State {
case 1:
goto cogo_1_1
case 2:
c.State = 1
goto cogo_2_0
case 3:
goto cogo_1_3
}
println("test yield:", 1)
{
c.State = 1
c.Out = 1
return
}
cogo_1_1:
;
cogo_2_0:
;
if c.Out > 2 {
switch c.State {
case 1:
goto cogo_2_1
}
{
c.State = 2
c.Out = 1
return
}
cogo_2_1:
}
c.YieldTo(cogo.NewSleeper(100 * time.Millisecond))
println("test yield:", 2)
{
c.State = 3
c.Out = 2
return
}
cogo_1_3:
}