/**
* 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;
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