controlflow

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package controlflow provides functionality for controlling the flow of execution.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Control

type Control struct {
	Count int
	Type  FlowType
}

Control represents a control flow from a statement.

type EvaluationResult

type EvaluationResult struct {
	Value   datavalue.Value
	Control *Control
}

EvaluationResult represents a result from a statement.

func NewBreakResult

func NewBreakResult(count int) *EvaluationResult

NewBreakResult creates a new break result.

func NewContinueResult

func NewContinueResult(count int) *EvaluationResult

NewContinueResult creates a new continue result.

func NewExitResult added in v0.1.1

func NewExitResult(code byte) *EvaluationResult

NewExitResult creates a new exit result.

func NewRegularResult

func NewRegularResult(value datavalue.Value) *EvaluationResult

NewRegularResult creates a new regular result.

func NewReturnResult added in v0.1.1

func NewReturnResult(value datavalue.Value) *EvaluationResult

NewReturnResult creates a new return result.

func (*EvaluationResult) IsBreakResult

func (r *EvaluationResult) IsBreakResult() bool

IsBreakResult returns true if this is a break result.

func (*EvaluationResult) IsContinueResult

func (r *EvaluationResult) IsContinueResult() bool

IsContinueResult returns true if this is a continue result.

func (*EvaluationResult) IsExitResult added in v0.1.1

func (r *EvaluationResult) IsExitResult() bool

IsExitResult returns true if this is an exit result.

func (*EvaluationResult) IsNormalResult

func (r *EvaluationResult) IsNormalResult() bool

IsNormalResult returns true if this is a normal result (no control flow).

func (*EvaluationResult) IsReturnResult added in v0.1.1

func (r *EvaluationResult) IsReturnResult() bool

IsReturnResult returns true if this is a return result.

type FlowType

type FlowType int

FlowType represents the type of a flow control statement.

const (
	// FlowTypeBreak represents a break flow control.
	FlowTypeBreak FlowType = iota
	// FlowTypeContinue represents a continue flow control.
	FlowTypeContinue
	// FlowTypeReturn represents a return flow control.
	FlowTypeReturn
	// FlowTypeExit represents an exit flow control.
	FlowTypeExit
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL