q/src/core/Function.go

28 lines
618 B
Go

package core
import (
"git.urbach.dev/cli/q/src/dll"
"git.urbach.dev/cli/q/src/fs"
"git.urbach.dev/cli/q/src/register"
"git.urbach.dev/cli/q/src/token"
"git.urbach.dev/cli/q/src/types"
)
// Function represents the smallest unit of code.
type Function struct {
register.Machine
Package string
Name string
UniqueName string
All *Environment
File *fs.File
Body token.List
Input []*Parameter
Output []*Parameter
OutputTypes []types.Type
Dependencies []*Function
DLLs dll.List
Err error
deferred []func()
count count
}