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