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 FunctionImpl3<P0,P1,P2,R> implements Function<P0,P1,P2,Object,Object,Object,Object,Object,Object,Object,R,Object,Object,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 abstract R apply(P0 p0, P1 p1, P2 p2);
25 public Object apply(Object p0, Object p1, Object p2, Object p3) {
27 return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3);
28 } catch(ClassCastException e) {
29 throw new CalledWithTooManyParameters();
34 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) {
36 return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4);
37 } catch(ClassCastException e) {
38 throw new CalledWithTooManyParameters();
43 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) {
45 return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5);
46 } catch(ClassCastException e) {
47 throw new CalledWithTooManyParameters();
52 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {
54 return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6);
55 } catch(ClassCastException e) {
56 throw new CalledWithTooManyParameters();
61 public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {
63 return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6, p7);
64 } catch(ClassCastException e) {
65 throw new CalledWithTooManyParameters();
70 public Object applyArray(Object ... ps) {
75 return new UnsaturatedFunction1(this, ps[0]);
77 return new UnsaturatedFunction2(this, ps[0], ps[1]);
79 return apply((P0)ps[0], (P1)ps[1], (P2)ps[2]);
82 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3]);
83 } catch(ClassCastException e) {
84 throw new CalledWithTooManyParameters();
88 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4]);
89 } catch(ClassCastException e) {
90 throw new CalledWithTooManyParameters();
94 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5]);
95 } catch(ClassCastException e) {
96 throw new CalledWithTooManyParameters();
100 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6]);
101 } catch(ClassCastException e) {
102 throw new CalledWithTooManyParameters();
106 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7]);
107 } catch(ClassCastException e) {
108 throw new CalledWithTooManyParameters();
112 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8]);
113 } catch(ClassCastException e) {
114 throw new CalledWithTooManyParameters();
118 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8], ps[9]);
119 } catch(ClassCastException e) {
120 throw new CalledWithTooManyParameters();
124 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7], ps[8], ps[9], ps[10]);
125 } catch(ClassCastException e) {
126 throw new CalledWithTooManyParameters();
130 return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(Arrays.copyOfRange(ps, 3, ps.length));
131 } catch(ClassCastException e) {
132 throw new CalledWithTooManyParameters();