2 * This code is generated in org.simantics.scl.runtime.generation.GenerateFunctions.
3 * Do not edit manually!
5 package org.simantics.scl.runtime.function;
7 import java.util.Arrays;
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> {
12 public Object apply(Object p0) {
13 return new UnsaturatedFunction1(this, p0);
17 public Object apply(Object p0, Object p1) {
18 return new UnsaturatedFunction2(this, p0, p1);
22 public Object apply(Object p0, Object p1, Object p2) {
23 return new UnsaturatedFunction3(this, p0, p1, p2);
27 public Object apply(Object p0, Object p1, Object p2, Object p3) {
28 return new UnsaturatedFunction4(this, p0, p1, p2, p3);
32 public abstract R apply(P0 p0, P1 p1, P2 p2, P3 p3, P4 p4);
35 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) {
37 return ((Function)apply((P0)p0, (P1)p1, (P2)p2, (P3)p3, (P4)p4)).apply(p5);
38 } catch(ClassCastException e) {
39 throw new CalledWithTooManyParameters();
44 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {
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();
53 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {
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();
62 public Object applyArray(Object ... ps) {
67 return new UnsaturatedFunction1(this, ps[0]);
69 return new UnsaturatedFunction2(this, ps[0], ps[1]);
71 return new UnsaturatedFunction3(this, ps[0], ps[1], ps[2]);
73 return new UnsaturatedFunction4(this, ps[0], ps[1], ps[2], ps[3]);
75 return apply((P0)ps[0], (P1)ps[1], (P2)ps[2], (P3)ps[3], (P4)ps[4]);
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();
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();
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();
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();
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();
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();
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();
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();
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();