X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.runtime%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fruntime%2Ffunction%2FFunctionImpl3.java;fp=bundles%2Forg.simantics.scl.runtime%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fruntime%2Ffunction%2FFunctionImpl3.java;h=05d84fbfc34d18c0df8cf221c934991e93875015;hp=0000000000000000000000000000000000000000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hpb=866dba5cd5a3929bbeae85991796acb212338a08 diff --git a/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImpl3.java b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImpl3.java new file mode 100755 index 000000000..05d84fbfc --- /dev/null +++ b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImpl3.java @@ -0,0 +1,136 @@ +/** + * This code is generated in org.simantics.scl.runtime.generation.GenerateFunctions. + * Do not edit manually! + */ +package org.simantics.scl.runtime.function; + +import java.util.Arrays; + +@SuppressWarnings("all") +public abstract class FunctionImpl3 implements Function { + @Override + public Object apply(Object p0) { + return new UnsaturatedFunction1(this, p0); + } + + @Override + public Object apply(Object p0, Object p1) { + return new UnsaturatedFunction2(this, p0, p1); + } + + @Override + public abstract R apply(P0 p0, P1 p1, P2 p2); + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3) { + try { + return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) { + try { + return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) { + try { + return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) { + try { + return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) { + try { + return ((Function)apply((P0)p0, (P1)p1, (P2)p2)).apply(p3, p4, p5, p6, p7); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object applyArray(Object ... ps) { + switch(ps.length) { + case 0: + return this; + case 1: + return new UnsaturatedFunction1(this, ps[0]); + case 2: + return new UnsaturatedFunction2(this, ps[0], ps[1]); + case 3: + return apply((P0)ps[0], (P1)ps[1], (P2)ps[2]); + case 4: + try { + return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 5: + try { + return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 6: + try { + return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 7: + try { + return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 8: + try { + return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(ps[3], ps[4], ps[5], ps[6], ps[7]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 9: + try { + 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]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 10: + try { + 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]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + case 11: + try { + 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]); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + default: + try { + return ((Function)apply((P0)ps[0], (P1)ps[1], (P2)ps[2])).apply(Arrays.copyOfRange(ps, 3, ps.length)); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + } +}