From a94c1f42a2106fbcceec967e5c6b397c77c3036b Mon Sep 17 00:00:00 2001 From: Sergeev Viktor Date: Sun, 5 Jul 2026 15:21:11 +0300 Subject: [PATCH] ISSUE-116: func name --- .../java/com/dashjoin/jsonata/Jsonata.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/dashjoin/jsonata/Jsonata.java b/src/main/java/com/dashjoin/jsonata/Jsonata.java index 575279b..620b5cc 100644 --- a/src/main/java/com/dashjoin/jsonata/Jsonata.java +++ b/src/main/java/com/dashjoin/jsonata/Jsonata.java @@ -1501,7 +1501,7 @@ Object evaluateTransformExpression(Symbol expr, Object input, Frame environment) return result; }; - return new JFunction(transformer, "<(oa):o>"); + return new JFunction("evaluateTransform", transformer, "<(oa):o>"); } static Symbol chainAST; // = new Parser().parse("function($f, $g) { function($x){ $g($f($x)) } }"); @@ -2045,34 +2045,34 @@ public static JFunction function(String name, String signature, Class clazz, Obj } public static JFunction function(String name, FnVarArgs func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn0 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn1 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn2 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn3 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn4 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn5 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn6 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn7 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } public static JFunction function(String name, Fn8 func, String signature) { - return new JFunction(func.getJFunctionCallable(), signature); + return new JFunction(name, func.getJFunctionCallable(), signature); } /** @@ -2226,6 +2226,14 @@ public JFunction(JFunctionCallable function, String signature) { this.signature = new Signature(signature, function.getClass().getName()); } + public JFunction(String functionName, JFunctionCallable function, String signature) { + this.function = function; + this.functionName = functionName; + if (signature!=null) + // use classname as default, gets overwritten once the function is registered + this.signature = new Signature(signature, functionName + " (" + function.getClass().getName() + ")"); + } + public JFunction(String functionName, String signature, Class clz, Object instance, String implMethodName) { this.functionName = functionName; this.signature = new Signature(signature, functionName);