result.go 526 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. value Value
  11. target string
  12. kind resultKind
  13. }
  14. func newReturnResult(value Value) result {
  15. return result{kind: resultReturn, value: value, target: ""}
  16. }
  17. func newContinueResult(target string) result {
  18. return result{kind: resultContinue, value: emptyValue, target: target}
  19. }
  20. func newBreakResult(target string) result {
  21. return result{kind: resultBreak, value: emptyValue, target: target}
  22. }