moved a subset of source file to the kern package

This commit is contained in:
2026-04-27 19:43:37 +02:00
parent f100adead3
commit 4d910dd069
107 changed files with 2080 additions and 1380 deletions
+10 -6
View File
@@ -4,7 +4,11 @@
// operator-unset.go
package expr
import "strings"
import (
"strings"
"git.portale-stac.it/go-pkg/expr/kern"
)
//-------- unset term
@@ -18,7 +22,7 @@ func newUnsetTerm(tk *Token) (inst *term) {
}
}
func deleteContextItem(ctx ExprContext, opTerm *term, item any) (deleted bool, err error) {
func deleteContextItem(ctx kern.ExprContext, opTerm *term, item any) (deleted bool, err error) {
if name, ok := item.(string); ok {
var size int
if strings.HasSuffix(name, "()") {
@@ -31,12 +35,12 @@ func deleteContextItem(ctx ExprContext, opTerm *term, item any) (deleted bool, e
deleted = ctx.VarCount() < size
}
} else {
err = opTerm.errIncompatibleType(item)
err = opTerm.errIncompatiblePrefixPostfixType(item)
}
return
}
func evalUnset(ctx ExprContext, opTerm *term) (v any, err error) {
func evalUnset(ctx kern.ExprContext, opTerm *term) (v any, err error) {
var childValue any
var deleted bool
@@ -45,8 +49,8 @@ func evalUnset(ctx ExprContext, opTerm *term) (v any, err error) {
}
count := 0
if IsList(childValue) {
list, _ := childValue.(*ListType)
if kern.IsList(childValue) {
list, _ := childValue.(*kern.ListType)
for _, item := range *list {
if deleted, err = deleteContextItem(ctx, opTerm, item); err != nil {
break