]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImpl7.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.scl.runtime / src / org / simantics / scl / runtime / function / FunctionImpl7.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 FunctionImpl7<P0,P1,P2,P3,P4,P5,P6,R> implements Function<P0,P1,P2,P3,P4,P5,P6,Object,Object,Object,Object,Object,Object,Object,R,Object> {\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 abstract R apply(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6);\r
43 \r
44     @Override\r
45     public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {\r
46         try {\r
47             return ((Function)apply((P0)p0, (P1)p1, (P2)p2, (P3)p3, (P4)p4, (P5)p5, (P6)p6)).apply(p7);\r
48         } catch(ClassCastException e) {\r
49             throw new CalledWithTooManyParameters();\r
50         }\r
51     }\r
52 \r
53     @Override\r
54     public Object applyArray(Object ... ps) {\r
55         switch(ps.length) {\r
56         case 0:\r
57             return this;\r
58         case 1:\r
59             return new UnsaturatedFunction1(this, ps[0]);\r
60         case 2:\r
61             return new UnsaturatedFunction2(this, ps[0], ps[1]);\r
62         case 3:\r
63             return new UnsaturatedFunction3(this, ps[0], ps[1], ps[2]);\r
64         case 4:\r
65             return new UnsaturatedFunction4(this, ps[0], ps[1], ps[2], ps[3]);\r
66         case 5:\r
67             return new UnsaturatedFunction5(this, ps[0], ps[1], ps[2], ps[3], ps[4]);\r
68         case 6:\r
69             return new UnsaturatedFunction6(this, ps[0], ps[1], ps[2], ps[3], ps[4], ps[5]);\r
70         case 7:\r
71             return apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6]);\r
72         case 8:\r
73             try {\r
74                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7]);\r
75             } catch(ClassCastException e) {\r
76                 throw new CalledWithTooManyParameters();\r
77             }\r
78         case 9:\r
79             try {\r
80                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8]);\r
81             } catch(ClassCastException e) {\r
82                 throw new CalledWithTooManyParameters();\r
83             }\r
84         case 10:\r
85             try {\r
86                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8], ps[9]);\r
87             } catch(ClassCastException e) {\r
88                 throw new CalledWithTooManyParameters();\r
89             }\r
90         case 11:\r
91             try {\r
92                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8], ps[9], ps[10]);\r
93             } catch(ClassCastException e) {\r
94                 throw new CalledWithTooManyParameters();\r
95             }\r
96         case 12:\r
97             try {\r
98                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8], ps[9], ps[10], ps[11]);\r
99             } catch(ClassCastException e) {\r
100                 throw new CalledWithTooManyParameters();\r
101             }\r
102         case 13:\r
103             try {\r
104                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8], ps[9], ps[10], ps[11], ps[12]);\r
105             } catch(ClassCastException e) {\r
106                 throw new CalledWithTooManyParameters();\r
107             }\r
108         case 14:\r
109             try {\r
110                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8], ps[9], ps[10], ps[11], ps[12], ps[13]);\r
111             } catch(ClassCastException e) {\r
112                 throw new CalledWithTooManyParameters();\r
113             }\r
114         case 15:\r
115             try {\r
116                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(ps[7], ps[8], ps[9], ps[10], ps[11], ps[12], ps[13], ps[14]);\r
117             } catch(ClassCastException e) {\r
118                 throw new CalledWithTooManyParameters();\r
119             }\r
120         default:\r
121             try {\r
122                 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5], (P6)ps[6])).apply(Arrays.copyOfRange(ps, 7, ps.length));\r
123             } catch(ClassCastException e) {\r
124                 throw new CalledWithTooManyParameters();\r
125             }\r
126         }\r
127     }\r
128 }\r