--- /dev/null
+/**
+ * This code is generated in org.simantics.scl.runtime.generation.GenerateFunctions.
+ * Do not edit manually!
+ */\r
+package org.simantics.scl.runtime.function;\r
+\r
+@SuppressWarnings("all")\r
+public class UnsaturatedFunctionN implements Function {\r
+ private final Function f;\r
+ private final Object[] ps;\r
+\r
+ public UnsaturatedFunctionN(Function f, Object ... ps) {\r
+ this.f = f;\r
+ this.ps = ps;\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1) {\r
+ Object[] nps = new Object[ps.length + 1];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2) {\r
+ Object[] nps = new Object[ps.length + 2];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2, Object p3) {\r
+ Object[] nps = new Object[ps.length + 3];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ nps[ps.length+2] = p3;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2, Object p3, Object p4) {\r
+ Object[] nps = new Object[ps.length + 4];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ nps[ps.length+2] = p3;\r
+ nps[ps.length+3] = p4;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2, Object p3, Object p4, Object p5) {\r
+ Object[] nps = new Object[ps.length + 5];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ nps[ps.length+2] = p3;\r
+ nps[ps.length+3] = p4;\r
+ nps[ps.length+4] = p5;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {\r
+ Object[] nps = new Object[ps.length + 6];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ nps[ps.length+2] = p3;\r
+ nps[ps.length+3] = p4;\r
+ nps[ps.length+4] = p5;\r
+ nps[ps.length+5] = p6;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {\r
+ Object[] nps = new Object[ps.length + 7];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ nps[ps.length+2] = p3;\r
+ nps[ps.length+3] = p4;\r
+ nps[ps.length+4] = p5;\r
+ nps[ps.length+5] = p6;\r
+ nps[ps.length+6] = p7;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object apply(Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8) {\r
+ Object[] nps = new Object[ps.length + 8];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ nps[ps.length+0] = p1;\r
+ nps[ps.length+1] = p2;\r
+ nps[ps.length+2] = p3;\r
+ nps[ps.length+3] = p4;\r
+ nps[ps.length+4] = p5;\r
+ nps[ps.length+5] = p6;\r
+ nps[ps.length+6] = p7;\r
+ nps[ps.length+7] = p8;\r
+ return f.applyArray(nps);\r
+ }\r
+\r
+ @Override\r
+ public Object applyArray(Object ... ops) {\r
+ Object[] nps = new Object[ps.length + ops.length];\r
+ System.arraycopy(ps, 0, nps, 0, ps.length);\r
+ System.arraycopy(ops, 0, nps, ps.length, ops.length);\r
+ return f.applyArray(nps);\r
+ }\r
+ @Override\r
+ public String toString() {\r
+ StringBuilder sb = new StringBuilder();\r
+ sb.append("(").append(f);\r
+ for (Object p : ps)\r
+ sb.append(" ").append(p);\r
+ sb.append(")");\r
+ return sb.toString();\r
+ }\r
+}\r