예제 #1
0
 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;
 }