/**
* This code is generated in org.simantics.scl.runtime.generation.GenerateFunctions.
* Do not edit manually!
- */\r
-package org.simantics.scl.runtime.function;\r
-\r
-import java.util.Arrays;\r
-\r
-@SuppressWarnings("all")\r
-public abstract class FunctionImpl3<P0,P1,P2,R> implements Function<P0,P1,P2,Object,Object,Object,Object,Object,Object,Object,R,Object,Object,Object,Object,Object> {\r
- @Override\r
- public Object apply(Object p0) {\r
- return new UnsaturatedFunction1(this, p0);\r
- }\r
-\r
- @Override\r
- public Object apply(Object p0, Object p1) {\r
- return new UnsaturatedFunction2(this, p0, p1);\r
- }\r
-\r
- @Override\r
- public abstract R apply(P0 p0, P1 p1, P2 p2);\r
-\r
- @Override\r
- public Object apply(Object p0, Object p1, Object p2, Object p3) {\r
- try {\r
- return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- }\r
-\r
- @Override\r
- public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) {\r
- try {\r
- return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- }\r
-\r
- @Override\r
- public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) {\r
- try {\r
- return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- }\r
-\r
- @Override\r
- public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {\r
- try {\r
- return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- }\r
-\r
- @Override\r
- public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {\r
- try {\r
- return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6, p7);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- }\r
-\r
- @Override\r
- public Object applyArray(Object ... ps) {\r
- switch(ps.length) {\r
- case 0:\r
- return this;\r
- case 1:\r
- return new UnsaturatedFunction1(this, ps[0]);\r
- case 2:\r
- return new UnsaturatedFunction2(this, ps[0], ps[1]);\r
- case 3:\r
- return apply((P0)ps[0], (P1)ps[1], (P2)ps[2]);\r
- case 4:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 5:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 6:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 7:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 8:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 9:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 10:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8], ps[9]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- case 11:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8], ps[9], ps[10]);\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- default:\r
- try {\r
- return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(Arrays.copyOfRange(ps, 3, ps.length));\r
- } catch(ClassCastException e) {\r
- throw new CalledWithTooManyParameters();\r
- }\r
- }\r
- }\r
-}\r
+ */
+package org.simantics.scl.runtime.function;
+
+import java.util.Arrays;
+
+@SuppressWarnings("all")
+public abstract class FunctionImpl3<P0,P1,P2,R> implements Function<P0,P1,P2,Object,Object,Object,Object,Object,Object,Object,R,Object,Object,Object,Object,Object> {
+ @Override
+ public Object apply(Object p0) {
+ return new UnsaturatedFunction1(this, p0);
+ }
+
+ @Override
+ public Object apply(Object p0, Object p1) {
+ return new UnsaturatedFunction2(this, p0, p1);
+ }
+
+ @Override
+ public abstract R apply(P0 p0, P1 p1, P2 p2);
+
+ @Override
+ public Object apply(Object p0, Object p1, Object p2, Object p3) {
+ try {
+ return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ }
+
+ @Override
+ public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) {
+ try {
+ return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ }
+
+ @Override
+ public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) {
+ try {
+ return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ }
+
+ @Override
+ public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {
+ try {
+ return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ }
+
+ @Override
+ public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {
+ try {
+ return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6, p7);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ }
+
+ @Override
+ public Object applyArray(Object ... ps) {
+ switch(ps.length) {
+ case 0:
+ return this;
+ case 1:
+ return new UnsaturatedFunction1(this, ps[0]);
+ case 2:
+ return new UnsaturatedFunction2(this, ps[0], ps[1]);
+ case 3:
+ return apply((P0)ps[0], (P1)ps[1], (P2)ps[2]);
+ case 4:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 5:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 6:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 7:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 8:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 9:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 10:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8], ps[9]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ case 11:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8], ps[9], ps[10]);
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ default:
+ try {
+ return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(Arrays.copyOfRange(ps, 3, ps.length));
+ } catch(ClassCastException e) {
+ throw new CalledWithTooManyParameters();
+ }
+ }
+ }
+}