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