//public Cons MakeSExpression(Cons funcNode) //{ // Cons head = new Cons(); // Cons current = head; // Cons last = null; // foreach (ValueNode node in funcNode.Args) // { // if (node is IdentifierNode) // { // current.Car = node; // } // else if (node is PrimitiveValueNode<int> || node is PrimitiveValueNode<double> || node is PrimitiveValueNode<string>) // { // current.Car = node.Eval(null); // } // else if (node is Cons) // { // current.Car = MakeSExpression(node as Cons); // } // last = current; // current.Cdr = new Cons(); // current = current.Cdr; // } // last.Cdr = null; // return head; //} private void SetupNode(ParseInfo info, ValueNode node) { node.CodeName = info.CodeName; node.HideFromCallstack = info.HideFromCallStack; node.Code = info.Code; node.Stack = info.Engine.Stack; info.Engine.Stack.AllNodes.Add(node); }
protected void BaseClone(ValueNode clone) { clone.Code = Code; clone.CodeStartIndex = CodeStartIndex; clone.CodeLength = CodeLength; clone.CodeName = CodeName; clone.HideFromCallstack = HideFromCallstack; clone.Stack = Stack; }