/** * Copyright (c) Rich Hickey. All rights reserved. * The use and distribution terms for this software are covered by the * Common Public License 1.0 (http://opensource.org/licenses/cpl.php) * which can be found in the file CPL.TXT at the root of this distribution. * By using this software in any fashion, you are agreeing to be bound by * the terms of this license. * You must not remove this notice, or any other, from this software. **/ using System; namespace clojure.lang { public abstract class RestFn : AFn { protected int reqArity; public RestFn(int reqArity) { this.reqArity = reqArity; } protected virtual Object doInvoke(ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, ISeq args) { return null; } protected virtual Object doInvoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, Object arg20, ISeq args) { return null; } override public Object applyTo(ISeq args) { if (RT.boundedLength(args, reqArity) <= reqArity) { return applyToHelper(this, args); } switch (reqArity) { case 0: return invoke(args); case 1: return invoke(args.first() , args.rest()); case 2: return invoke(args.first() , (args = args.rest()).first() , args.rest()); case 3: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 4: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 5: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 6: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 7: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 8: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 9: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 10: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 11: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 12: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 13: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 14: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 15: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 16: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 17: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 18: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 19: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); case 20: return invoke(args.first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , (args = args.rest()).first() , args.rest()); } return throwArity(); } override public Object invoke() { switch (reqArity) { case 0: return doInvoke(null); default: return throwArity(); } } override public Object invoke(Object arg1) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1)); case 1: return doInvoke(arg1, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2)); case 1: return doInvoke(arg1, ArraySeq.create(arg2)); case 2: return doInvoke(arg1, arg2, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3)); case 3: return doInvoke(arg1, arg2, arg3, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4)); case 4: return doInvoke(arg1, arg2, arg3, arg4, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13) { switch (reqArity) { case 0: return doInvoke( ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14, arg15)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14, arg15)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14, arg15)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14, arg15)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14, arg15)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14, arg15)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ArraySeq.create(arg15)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14, arg15, arg16)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14, arg15, arg16)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14, arg15, arg16)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14, arg15, arg16)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14, arg15, arg16)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ArraySeq.create(arg15, arg16)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ArraySeq.create(arg16)); case 16: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14, arg15, arg16, arg17)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14, arg15, arg16, arg17)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14, arg15, arg16, arg17)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14, arg15, arg16, arg17)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ArraySeq.create(arg15, arg16, arg17)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ArraySeq.create(arg16, arg17)); case 16: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ArraySeq.create(arg17)); case 17: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14, arg15, arg16, arg17, arg18)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14, arg15, arg16, arg17, arg18)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14, arg15, arg16, arg17, arg18)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ArraySeq.create(arg15, arg16, arg17, arg18)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ArraySeq.create(arg16, arg17, arg18)); case 16: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ArraySeq.create(arg17, arg18)); case 17: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ArraySeq.create(arg18)); case 18: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, Object arg19) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14, arg15, arg16, arg17, arg18, arg19)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14, arg15, arg16, arg17, arg18, arg19)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ArraySeq.create(arg15, arg16, arg17, arg18, arg19)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ArraySeq.create(arg16, arg17, arg18, arg19)); case 16: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ArraySeq.create(arg17, arg18, arg19)); case 17: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ArraySeq.create(arg18, arg19)); case 18: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ArraySeq.create(arg19)); case 19: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, Object arg20) { switch (reqArity) { case 0: return doInvoke(ArraySeq.create(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 1: return doInvoke(arg1, ArraySeq.create(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 2: return doInvoke(arg1, arg2, ArraySeq.create(arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 3: return doInvoke(arg1, arg2, arg3, ArraySeq.create(arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ArraySeq.create(arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ArraySeq.create(arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ArraySeq.create(arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ArraySeq.create(arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ArraySeq.create(arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ArraySeq.create(arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ArraySeq.create(arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ArraySeq.create(arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ArraySeq.create(arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ArraySeq.create(arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ArraySeq.create(arg15, arg16, arg17, arg18, arg19, arg20)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ArraySeq.create(arg16, arg17, arg18, arg19, arg20)); case 16: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ArraySeq.create(arg17, arg18, arg19, arg20)); case 17: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ArraySeq.create(arg18, arg19, arg20)); case 18: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ArraySeq.create(arg19, arg20)); case 19: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, ArraySeq.create(arg20)); case 20: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, null); default: return throwArity(); } } override public Object invoke(Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7, Object arg8, Object arg9, Object arg10, Object arg11, Object arg12, Object arg13, Object arg14, Object arg15, Object arg16, Object arg17, Object arg18, Object arg19, Object arg20, params Object[] args) { switch (reqArity) { case 0: return doInvoke(ontoArrayPrepend(args, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 1: return doInvoke(arg1, ontoArrayPrepend(args, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 2: return doInvoke(arg1, arg2, ontoArrayPrepend(args, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 3: return doInvoke(arg1, arg2, arg3, ontoArrayPrepend(args, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 4: return doInvoke(arg1, arg2, arg3, arg4, ontoArrayPrepend(args, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 5: return doInvoke(arg1, arg2, arg3, arg4, arg5, ontoArrayPrepend(args, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 6: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, ontoArrayPrepend(args, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 7: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, ontoArrayPrepend(args, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 8: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, ontoArrayPrepend(args, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 9: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, ontoArrayPrepend(args, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 10: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, ontoArrayPrepend(args, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 11: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ontoArrayPrepend(args, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 12: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, ontoArrayPrepend(args, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 13: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, ontoArrayPrepend(args, arg14, arg15, arg16, arg17, arg18, arg19, arg20)); case 14: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, ontoArrayPrepend(args, arg15, arg16, arg17, arg18, arg19, arg20)); case 15: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, ontoArrayPrepend(args, arg16, arg17, arg18, arg19, arg20)); case 16: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, ontoArrayPrepend(args, arg17, arg18, arg19, arg20)); case 17: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, ontoArrayPrepend(args, arg18, arg19, arg20)); case 18: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, ontoArrayPrepend(args, arg19, arg20)); case 19: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, ontoArrayPrepend(args, arg20)); case 20: return doInvoke(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20, ArraySeq.create(args)); default: return throwArity(); } } protected static ISeq ontoArrayPrepend(Object[] array, params Object[] args) { ISeq ret = ArraySeq.create(array); for (int i = args.Length - 1; i >= 0; --i) ret = RT.cons(args[i], ret); return ret; } protected static ISeq findKey(Object key, ISeq args){ while(args != null) { if(key == args.first()) return args.rest(); args = RT.rest(args); args = RT.rest(args); } return null; } } }