package org.matheclipse.core.eval.exception;

import org.matheclipse.core.interfaces.IAST;
import org.matheclipse.parser.client.math.MathException;

/**
 */
public class WrongNumberOfArguments extends MathException {
	/**
	 * 
	 */
	private static final long serialVersionUID = 754625729654866796L;

	int fAllowed;

	int fCurrent;

	IAST fExpr;
	
	int fTextNumber;

	/**
	 * Expected number of arguments: {@code allowed} but got {@code current}
	 * arguments:
{@code expr}. * * @param expr * @param allowed * @param current */ public WrongNumberOfArguments(final IAST expr, final int allowed, final int current) { fAllowed = allowed; fCurrent = current; fExpr = expr; fTextNumber = 0; } /** * Expected number of arguments: {@code allowed} but got {@code current} * arguments:
{@code expr}. * * @param expr * @param allowed * @param current */ public WrongNumberOfArguments(final int textNumber, final IAST expr,final int current) { fAllowed = 0; fCurrent = current; fExpr = expr; fTextNumber = textNumber; } @Override public String getMessage() { switch(fTextNumber){ case 0: return "Expected number of arguments: " + fAllowed + " but got " + fCurrent + " arguments:\n" + fExpr.toString(); case 1: return "Expected even number of arguments but got " + fCurrent + " arguments:\n" + fExpr.toString(); case 2: return "Expected odd number of arguments but got " + fCurrent + " arguments:\n" + fExpr.toString(); } return "Wrong text number: " + fAllowed + " but got " + fCurrent + " arguments:\n" + fExpr.toString(); } }

Ads help maintain this website.