1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
package gojq
import "context"
type env struct {
pc int
stack *stack
paths *stack
scopes *scopeStack
values []any
codes []*code
codeinfos []codeinfo
forks []fork
backtrack bool
offset int
expdepth int
label int
args [32]any // len(env.args) > maxarity
ctx context.Context
}
func newEnv(ctx context.Context) *env {
return &env{
stack: newStack(),
paths: newStack(),
scopes: newScopeStack(),
ctx: ctx,
}
}
type scope struct {
id int
offset int
pc int
saveindex int
outerindex int
}
type fork struct {
pc int
stackindex int
stacklimit int
scopeindex int
scopelimit int
pathindex int
pathlimit int
expdepth int
}
|