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