2 * This code is generated in org.simantics.scl.runtime.generation.GenerateFunctions.
3 * Do not edit manually!
5 package org.simantics.scl.runtime.function;
\r
7 import java.util.Arrays;
\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
12 public Object apply(Object p0) {
\r
13 return new UnsaturatedFunction1(this, p0);
\r
17 public Object apply(Object p0, Object p1) {
\r
18 return new UnsaturatedFunction2(this, p0, p1);
\r
22 public Object apply(Object p0, Object p1, Object p2) {
\r
23 return new UnsaturatedFunction3(this, p0, p1, p2);
\r
27 public Object apply(Object p0, Object p1, Object p2, Object p3) {
\r
28 return new UnsaturatedFunction4(this, p0, p1, p2, p3);
\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
37 public abstract R apply(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5);
\r
40 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {
\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
49 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {
\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
58 public Object applyArray(Object ... ps) {
\r
63 return new UnsaturatedFunction1(this, ps[0]);
\r
65 return new UnsaturatedFunction2(this, ps[0], ps[1]);
\r
67 return new UnsaturatedFunction3(this, ps[0], ps[1], ps[2]);
\r
69 return new UnsaturatedFunction4(this, ps[0], ps[1], ps[2], ps[3]);
\r
71 return new UnsaturatedFunction5(this, ps[0], ps[1], ps[2], ps[3], ps[4]);
\r
73 return apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4], (P5)ps[5]);
\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
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
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
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
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
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
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
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
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