]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImpl8.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.runtime / src / org / simantics / scl / runtime / function / FunctionImpl8.java
1 /**
2  * This code is generated in org.simantics.scl.runtime.generation.GenerateFunctions.
3  * Do not edit manually!
4  */\r
5 package org.simantics.scl.runtime.function;\r
6 \r
7 import java.util.Arrays;\r
8 \r
9 @SuppressWarnings("all")\r
10 public abstract class FunctionImpl8<P0,P1,P2,P3,P4,P5,P6,P7,R> implements Function<P0,P1,P2,P3,P4,P5,P6,P7,Object,Object,Object,Object,Object,Object,Object,R> {\r
11     @Override\r
12     public Object apply(Object p0) {\r
13         return new UnsaturatedFunction1(this, p0);\r
14     }\r
15 \r
16     @Override\r
17     public Object apply(Object p0, Object p1) {\r
18         return new UnsaturatedFunction2(this, p0, p1);\r
19     }\r
20 \r
21     @Override\r
22     public Object apply(Object p0, Object p1, Object p2) {\r
23         return new UnsaturatedFunction3(this, p0, p1, p2);\r
24     }\r
25 \r
26     @Override\r
27     public Object apply(Object p0, Object p1, Object p2, Object p3) {\r
28         return new UnsaturatedFunction4(this, p0, p1, p2, p3);\r
29     }\r
30 \r
31     @Override\r
32     public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) {\r
33         return new UnsaturatedFunction5(this, p0, p1, p2, p3, p4);\r
34     }\r
35 \r
36     @Override\r
37     public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) {\r
38         return new UnsaturatedFunction6(this, p0, p1, p2, p3, p4, p5);\r
39     }\r
40 \r
41     @Override\r
42     public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {\r
43         return new UnsaturatedFunction7(this, p0, p1, p2, p3, p4, p5, p6);\r
44     }\r
45 \r
46     @Override\r
47     public abstract R apply(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7);\r
48 \r
49     @Override\r
50     public Object applyArray(Object ... ps) {\r
51         switch(ps.length) {\r
52         case 0:\r
53             return this;\r
54         case 1:\r
55             return new UnsaturatedFunction1(this, ps[0]);\r
56         case 2:\r
57             return new UnsaturatedFunction2(this, ps[0], ps[1]);\r
58         case 3:\r
59             return new UnsaturatedFunction3(this, ps[0], ps[1], ps[2]);\r
60         case 4:\r
61             return new UnsaturatedFunction4(this, ps[0], ps[1], ps[2], ps[3]);\r
62         case 5:\r
63             return new UnsaturatedFunction5(this, ps[0], ps[1], ps[2], ps[3], ps[4]);\r
64         case 6:\r
65             return new UnsaturatedFunction6(this, ps[0], ps[1], ps[2], ps[3], ps[4], ps[5]);\r
66         case 7:\r
67             return new UnsaturatedFunction7(this, ps[0], ps[1], ps[2], ps[3], ps[4], ps[5], ps[6]);\r
68         case 8:\r
69             return apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7]);\r
70         case 9:\r
71             try {\r
72                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8]);\r
73             } catch(ClassCastException e) {\r
74                 throw new CalledWithTooManyParameters();\r
75             }\r
76         case 10:\r
77             try {\r
78                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9]);\r
79             } catch(ClassCastException e) {\r
80                 throw new CalledWithTooManyParameters();\r
81             }\r
82         case 11:\r
83             try {\r
84                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9], ps[10]);\r
85             } catch(ClassCastException e) {\r
86                 throw new CalledWithTooManyParameters();\r
87             }\r
88         case 12:\r
89             try {\r
90                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9], ps[10], ps[11]);\r
91             } catch(ClassCastException e) {\r
92                 throw new CalledWithTooManyParameters();\r
93             }\r
94         case 13:\r
95             try {\r
96                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9], ps[10], ps[11], ps[12]);\r
97             } catch(ClassCastException e) {\r
98                 throw new CalledWithTooManyParameters();\r
99             }\r
100         case 14:\r
101             try {\r
102                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9], ps[10], ps[11], ps[12], ps[13]);\r
103             } catch(ClassCastException e) {\r
104                 throw new CalledWithTooManyParameters();\r
105             }\r
106         case 15:\r
107             try {\r
108                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9], ps[10], ps[11], ps[12], ps[13], ps[14]);\r
109             } catch(ClassCastException e) {\r
110                 throw new CalledWithTooManyParameters();\r
111             }\r
112         case 16:\r
113             try {\r
114                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(ps[8], ps[9], ps[10], ps[11], ps[12], ps[13], ps[14], ps[15]);\r
115             } catch(ClassCastException e) {\r
116                 throw new CalledWithTooManyParameters();\r
117             }\r
118         default:\r
119             try {\r
120                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6], (P7)ps[7])).apply(Arrays.copyOfRange(ps, 8, ps.length));\r
121             } catch(ClassCastException e) {\r
122                 throw new CalledWithTooManyParameters();\r
123             }\r
124         }\r
125     }\r
126 }\r