mirror of
https://github.com/bloeys/cogo.git
synced 2025-12-29 08:58:19 +00:00
55 lines
620 B
Go
Executable File
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:
|
|
}
|