result.go 463 B

12345678910111213141516171819202122232425262728
  1. package otto
  2. type resultKind int
  3. const (
  4. _ resultKind = iota
  5. resultReturn
  6. resultBreak
  7. resultContinue
  8. )
  9. type result struct {
  10. kind resultKind
  11. value Value
  12. target string
  13. }
  14. func newReturnResult(value Value) result {
  15. return result{resultReturn, value, ""}
  16. }
  17. func newContinueResult(target string) result {
  18. return result{resultContinue, emptyValue, target}
  19. }
  20. func newBreakResult(target string) result {
  21. return result{resultBreak, emptyValue, target}
  22. }