diff --git a/common-errors.go b/common-errors.go index b28007f..c4f6048 100644 --- a/common-errors.go +++ b/common-errors.go @@ -25,11 +25,11 @@ func errTooMuchParams(funcName string, maxArgs, argCount int) (err error) { // --- General errors func errCantConvert(funcName string, value any, kind string) error { - return fmt.Errorf("%s(): can't convert %s to %s", funcName, typeName(value), kind) + return fmt.Errorf("%s(): can't convert %s to %s", funcName, TypeName(value), kind) } func errExpectedGot(funcName string, kind string, value any) error { - return fmt.Errorf("%s() expected %s, got %s (%v)", funcName, kind, typeName(value), value) + return fmt.Errorf("%s() expected %s, got %s (%v)", funcName, kind, TypeName(value), value) } func errFuncDivisionByZero(funcName string) error { @@ -47,9 +47,9 @@ func errMissingRequiredParameter(funcName, paramName string) error { } func errInvalidParameterValue(funcName, paramName string, paramValue any) error { - return fmt.Errorf("%s() invalid value %s (%v) for parameter %q", funcName, typeName(paramValue), paramValue, paramName) + return fmt.Errorf("%s() invalid value %s (%v) for parameter %q", funcName, TypeName(paramValue), paramValue, paramName) } func errWrongParamType(funcName, paramName, paramType string, paramValue any) error { - return fmt.Errorf("%s() the %q parameter must be a %s, got a %s (%v)", funcName, paramName, paramType, typeName(paramValue), paramValue) + return fmt.Errorf("%s() the %q parameter must be a %s, got a %s (%v)", funcName, paramName, paramType, TypeName(paramValue), paramValue) } diff --git a/formatter.go b/formatter.go index be0d911..120cd86 100644 --- a/formatter.go +++ b/formatter.go @@ -51,7 +51,7 @@ type Typer interface { TypeName() string } -func typeName(v any) (name string) { +func TypeName(v any) (name string) { if v == nil { name = "nil" } else if typer, ok := v.(Typer); ok { diff --git a/import-utils.go b/import-utils.go index ee1e1b5..10700d6 100644 --- a/import-utils.go +++ b/import-utils.go @@ -20,7 +20,7 @@ const ( func checkStringParamExpected(funcName string, paramValue any, paramPos int) (err error) { if !(IsString(paramValue) /*|| isList(paramValue)*/) { - err = fmt.Errorf("%s(): param nr %d has wrong type %s, string expected", funcName, paramPos+1, typeName(paramValue)) + err = fmt.Errorf("%s(): param nr %d has wrong type %s, string expected", funcName, paramPos+1, TypeName(paramValue)) } return } diff --git a/operator-assign.go b/operator-assign.go index 9aed2f1..f964364 100644 --- a/operator-assign.go +++ b/operator-assign.go @@ -28,7 +28,7 @@ func assignCollectionItem(ctx ExprContext, collectionTerm, keyListTerm *term, va if keyListValue, err = keyListTerm.compute(ctx); err != nil { return } else if keyList, ok = keyListValue.(*ListType); !ok || len(*keyList) != 1 { - err = keyListTerm.Errorf("index/key specification expected, got %v [%s]", keyListValue, typeName(keyListValue)) + err = keyListTerm.Errorf("index/key specification expected, got %v [%s]", keyListValue, TypeName(keyListValue)) return } if keyValue = (*keyList)[0]; keyValue == nil { @@ -41,7 +41,7 @@ func assignCollectionItem(ctx ExprContext, collectionTerm, keyListTerm *term, va if index, ok := keyValue.(int64); ok { err = collection.setItem(index, value) } else { - err = keyListTerm.Errorf("integer expected, got %v [%s]", keyValue, typeName(keyValue)) + err = keyListTerm.Errorf("integer expected, got %v [%s]", keyValue, TypeName(keyValue)) } case *DictType: err = collection.setItem(keyValue, value) diff --git a/operator-builtin.go b/operator-builtin.go index edda8a2..c5ab462 100644 --- a/operator-builtin.go +++ b/operator-builtin.go @@ -41,7 +41,7 @@ func evalBuiltin(ctx ExprContext, self *term) (v any, err error) { break } } else { - err = self.Errorf("expected string at item nr %d, got %s", it.Index()+1, typeName(moduleSpec)) + err = self.Errorf("expected string at item nr %d, got %s", it.Index()+1, TypeName(moduleSpec)) break } } diff --git a/operator-plugin.go b/operator-plugin.go index aae417c..786bc1a 100644 --- a/operator-plugin.go +++ b/operator-plugin.go @@ -38,7 +38,7 @@ func evalPlugin(ctx ExprContext, self *term) (v any, err error) { } count++ } else { - err = self.Errorf("expected string as item nr %d, got %s", it.Index()+1, typeName(moduleSpec)) + err = self.Errorf("expected string as item nr %d, got %s", it.Index()+1, TypeName(moduleSpec)) break } } diff --git a/t_parser_test.go b/t_parser_test.go index 1f4752a..f85d9e9 100644 --- a/t_parser_test.go +++ b/t_parser_test.go @@ -203,7 +203,7 @@ func doTest(t *testing.T, section string, input *inputType, count int) (good boo eq := reflect.DeepEqual(gotResult, input.wantResult) if !eq /*gotResult != input.wantResult*/ { - t.Errorf("%d: %q -> result = %v [%s], want = %v [%s]", count, input.source, gotResult, typeName(gotResult), input.wantResult, typeName(input.wantResult)) + t.Errorf("%d: %q -> result = %v [%s], want = %v [%s]", count, input.source, gotResult, TypeName(gotResult), input.wantResult, TypeName(input.wantResult)) good = false } diff --git a/term.go b/term.go index fae9b58..73df20f 100644 --- a/term.go +++ b/term.go @@ -156,15 +156,15 @@ func (self *term) toInt(computedValue any, valueDescription string) (i int, err if index64, ok := computedValue.(int64); ok { i = int(index64) } else { - err = self.Errorf("%s, got %s (%v)", valueDescription, typeName(computedValue), computedValue) + err = self.Errorf("%s, got %s (%v)", valueDescription, TypeName(computedValue), computedValue) } return } func (self *term) errIncompatibleTypes(leftValue, rightValue any) error { - leftType := typeName(leftValue) + leftType := TypeName(leftValue) leftText := getFormatted(leftValue, Truncate) - rightType := typeName(rightValue) + rightType := TypeName(rightValue) rightText := getFormatted(rightValue, Truncate) return self.tk.Errorf( "left operand '%s' [%s] and right operand '%s' [%s] are not compatible with operator %q", @@ -176,7 +176,7 @@ func (self *term) errIncompatibleTypes(leftValue, rightValue any) error { func (self *term) errIncompatibleType(value any) error { return self.tk.Errorf( "prefix/postfix operator %q do not support operand '%v' [%s]", - self.source(), value, typeName(value)) + self.source(), value, TypeName(value)) } func (self *term) Errorf(template string, args ...any) (err error) { diff --git a/utils.go b/utils.go index a82f3b3..c07ed98 100644 --- a/utils.go +++ b/utils.go @@ -207,7 +207,7 @@ func toInt(value any, description string) (i int, err error) { } else if valueInt, ok := value.(int); ok { i = valueInt } else { - err = fmt.Errorf("%s expected integer, got %s (%v)", description, typeName(value), value) + err = fmt.Errorf("%s expected integer, got %s (%v)", description, TypeName(value), value) } return }