X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.runtime%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fruntime%2Ffunction%2FFunctionImplN.java;h=be58f74c215d872b6855f1de48517c93b2c0b010;hb=79b952a1ea3ae3f299c6d7aa612a98b7ae5db51a;hp=1c9d7d9cb31a449a4622832d62d407a9735e0dd3;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImplN.java b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImplN.java old mode 100755 new mode 100644 index 1c9d7d9cb..be58f74c2 --- a/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImplN.java +++ b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/FunctionImplN.java @@ -1,159 +1,159 @@ /** * 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 FunctionImplN implements Function { - int arity; - - public FunctionImplN(int arity) { - if(arity < 1) - throw new IllegalArgumentException(); - this.arity = arity; - } - - @Override - public Object apply(Object p0) { - try { - switch(arity) { - case 1: return doApply(p0); - default: return new UnsaturatedFunction1(this, p0); - } - } catch(ClassCastException e) { - throw new CalledWithTooManyParameters(); - } - } - - @Override - public Object apply(Object p0, Object p1) { - try { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1); - case 2: return doApply(p0, p1); - default: return new UnsaturatedFunction2(this, p0, p1); - } - } catch(ClassCastException e) { - throw new CalledWithTooManyParameters(); - } - } - - @Override - public Object apply(Object p0, Object p1, Object p2) { - try { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1, p2); - case 2: return ((Function)doApply(p0, p1)).apply(p2); - case 3: return doApply(p0, p1, p2); - default: return new UnsaturatedFunction3(this, p0, p1, p2); - } - } catch(ClassCastException e) { - throw new CalledWithTooManyParameters(); - } - } - - @Override - public Object apply(Object p0, Object p1, Object p2, Object p3) { - try { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1, p2, p3); - case 2: return ((Function)doApply(p0, p1)).apply(p2, p3); - case 3: return ((Function)doApply(p0, p1, p2)).apply(p3); - case 4: return doApply(p0, p1, p2, p3); - default: return new UnsaturatedFunction4(this, p0, p1, p2, p3); - } - } catch(ClassCastException e) { - throw new CalledWithTooManyParameters(); - } - } - - @Override - public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) { - try { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4); - case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4); - case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4); - case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4); - case 5: return doApply(p0, p1, p2, p3, p4); - default: return new UnsaturatedFunction5(this, p0, p1, p2, 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 { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4, p5); - case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4, p5); - case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4, p5); - case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4, p5); - case 5: return ((Function)doApply(p0, p1, p2, p3, p4)).apply(p5); - case 6: return doApply(p0, p1, p2, p3, p4, p5); - default: return new UnsaturatedFunction6(this, p0, p1, p2, 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 { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4, p5, p6); - case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4, p5, p6); - case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4, p5, p6); - case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4, p5, p6); - case 5: return ((Function)doApply(p0, p1, p2, p3, p4)).apply(p5, p6); - case 6: return ((Function)doApply(p0, p1, p2, p3, p4, p5)).apply(p6); - case 7: return doApply(p0, p1, p2, p3, p4, p5, p6); - default: return new UnsaturatedFunction7(this, p0, p1, p2, 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 { - switch(arity) { - case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4, p5, p6, p7); - case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4, p5, p6, p7); - case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4, p5, p6, p7); - case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4, p5, p6, p7); - case 5: return ((Function)doApply(p0, p1, p2, p3, p4)).apply(p5, p6, p7); - case 6: return ((Function)doApply(p0, p1, p2, p3, p4, p5)).apply(p6, p7); - case 7: return ((Function)doApply(p0, p1, p2, p3, p4, p5, p6)).apply(p7); - case 8: return doApply(p0, p1, p2, p3, p4, p5, p6, p7); - default: return new UnsaturatedFunction8(this, p0, p1, p2, p3, p4, p5, p6, p7); - } - } catch(ClassCastException e) { - throw new CalledWithTooManyParameters(); - } - } - - public abstract Object doApply(Object ... ps); - - @Override - public Object applyArray(Object ... ps) { - if(ps.length == arity) - return doApply(ps); - else if(ps.length < arity) - return new UnsaturatedFunctionN(this, ps); - else /* ps.length > arity */ { - try { - return ((Function)doApply(Arrays.copyOf(ps, arity))).applyArray(Arrays.copyOfRange(ps, arity, ps.length)); - } catch(ClassCastException e) { - throw new CalledWithTooManyParameters(); - } - } - } -} + */ +package org.simantics.scl.runtime.function; + +import java.util.Arrays; + +@SuppressWarnings("all") +public abstract class FunctionImplN implements Function { + int arity; + + public FunctionImplN(int arity) { + if(arity < 1) + throw new IllegalArgumentException(); + this.arity = arity; + } + + @Override + public Object apply(Object p0) { + try { + switch(arity) { + case 1: return doApply(p0); + default: return new UnsaturatedFunction1(this, p0); + } + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1) { + try { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1); + case 2: return doApply(p0, p1); + default: return new UnsaturatedFunction2(this, p0, p1); + } + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2) { + try { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1, p2); + case 2: return ((Function)doApply(p0, p1)).apply(p2); + case 3: return doApply(p0, p1, p2); + default: return new UnsaturatedFunction3(this, p0, p1, p2); + } + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3) { + try { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1, p2, p3); + case 2: return ((Function)doApply(p0, p1)).apply(p2, p3); + case 3: return ((Function)doApply(p0, p1, p2)).apply(p3); + case 4: return doApply(p0, p1, p2, p3); + default: return new UnsaturatedFunction4(this, p0, p1, p2, p3); + } + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + @Override + public Object apply(Object p0, Object p1, Object p2, Object p3, Object p4) { + try { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4); + case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4); + case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4); + case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4); + case 5: return doApply(p0, p1, p2, p3, p4); + default: return new UnsaturatedFunction5(this, p0, p1, p2, 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 { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4, p5); + case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4, p5); + case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4, p5); + case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4, p5); + case 5: return ((Function)doApply(p0, p1, p2, p3, p4)).apply(p5); + case 6: return doApply(p0, p1, p2, p3, p4, p5); + default: return new UnsaturatedFunction6(this, p0, p1, p2, 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 { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4, p5, p6); + case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4, p5, p6); + case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4, p5, p6); + case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4, p5, p6); + case 5: return ((Function)doApply(p0, p1, p2, p3, p4)).apply(p5, p6); + case 6: return ((Function)doApply(p0, p1, p2, p3, p4, p5)).apply(p6); + case 7: return doApply(p0, p1, p2, p3, p4, p5, p6); + default: return new UnsaturatedFunction7(this, p0, p1, p2, 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 { + switch(arity) { + case 1: return ((Function)doApply(p0)).apply(p1, p2, p3, p4, p5, p6, p7); + case 2: return ((Function)doApply(p0, p1)).apply(p2, p3, p4, p5, p6, p7); + case 3: return ((Function)doApply(p0, p1, p2)).apply(p3, p4, p5, p6, p7); + case 4: return ((Function)doApply(p0, p1, p2, p3)).apply(p4, p5, p6, p7); + case 5: return ((Function)doApply(p0, p1, p2, p3, p4)).apply(p5, p6, p7); + case 6: return ((Function)doApply(p0, p1, p2, p3, p4, p5)).apply(p6, p7); + case 7: return ((Function)doApply(p0, p1, p2, p3, p4, p5, p6)).apply(p7); + case 8: return doApply(p0, p1, p2, p3, p4, p5, p6, p7); + default: return new UnsaturatedFunction8(this, p0, p1, p2, p3, p4, p5, p6, p7); + } + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + + public abstract Object doApply(Object ... ps); + + @Override + public Object applyArray(Object ... ps) { + if(ps.length == arity) + return doApply(ps); + else if(ps.length < arity) + return new UnsaturatedFunctionN(this, ps); + else /* ps.length > arity */ { + try { + return ((Function)doApply(Arrays.copyOf(ps, arity))).applyArray(Arrays.copyOfRange(ps, arity, ps.length)); + } catch(ClassCastException e) { + throw new CalledWithTooManyParameters(); + } + } + } +}