private Parameter(Parameter original) { this.name = original.Name; this.value = original.value; }
protected List<Parameter> ProcessParameters(Scope scope, JavaScriptObject thisObject) { List<Parameter> resultParameters = new List<Parameter>(this.parameters.Count); foreach (Node node in parameters) { // TODO clean up getting parameters String parameterName; JavaScriptObject parameterValue; if (node is VariableNode) { parameterName = ((VariableNode)node).Name; parameterValue = null; } else if (node is AssignNode) { parameterName = ((VariableNode)((AssignNode)node).LeftOperand).Name; parameterValue = ((AssignNode)node).RightOperand.Evaluate(scope, thisObject); } else { // This error should not occur throw new Exception("Invalid function"); } Parameter param = new Parameter(parameterName, parameterValue); resultParameters.Add(param); } return resultParameters; }