public PartialCall Add(Value argument) { //if (CheckArgument(argument) == MatchType.Mismatch) throw new NoMatchingSignature(SignatureMismatchType.Individual); if (Expecting == ValueType.Identifier) argument = new Identifier(argument.Var.LastName); var call = new PartialCall(argument, this); if (right) { var temp = new PartialCall(Argument, call); temp.ArgumentsLeft = 0; //ArgumentsLeft needs to be fixed to 0 because this additional PartialCall doesn't actually need to decrement it call.last = last; return temp; } return call; }
public PartialCall AddRight(Value argument) { //if (CheckArgumentRight(argument) == MatchType.Mismatch) throw new NoMatchingSignature(SignatureMismatchType.Individual); if (Function.Signature.InputSignature.Last() == ValueType.Identifier) argument = new Identifier(argument.Var.LastName); return new PartialCall(argument, this, true); }