public virtual Value evaluate(Context cx, BinaryProgramNode node)
        {
            output("<BinaryProgramNode position=\"" + node.pos() + "\">");
            indent_Renamed_Field++;
            if (node.pkgdefs != null)
            {
                // for (PackageDefinitionNode n : node.pkgdefs)
                for (int i = 0, size = node.pkgdefs.size(); i < size; i++)
                {
                    PackageDefinitionNode n = (PackageDefinitionNode)node.pkgdefs.get_Renamed(i);
                    n.evaluate(cx, this);
                }
            }

            if (node.statements != null)
            {
                node.statements.evaluate(cx, this);
            }

            if (node.fexprs != null)
            {
                // for (FunctionCommonNode n : node.fexprs)
                for (int i = 0, size = node.fexprs.size(); i < size; i++)
                {
                    FunctionCommonNode n = (FunctionCommonNode)node.fexprs.get_Renamed(i);
                    n.evaluate(cx, this);
                }
            }

            if (node.clsdefs != null)
            {
                // for (FunctionCommonNode n : node.clsdefs)
                for (int i = 0, size = node.clsdefs.size(); i < size; i++)
                {
                    ClassDefinitionNode n = (ClassDefinitionNode)node.clsdefs.get_Renamed(i);
                    n.evaluate(cx, this);
                }
            }

            indent_Renamed_Field--;
            output("</BinaryProgramNode>");
            return(null);
        }
		public virtual Value evaluate(Context cx, PackageDefinitionNode node)
		{
			output("<PackageDefinitionNode />");
			return null;
		}
 public virtual Value evaluate(Context cx, PackageDefinitionNode node)
 {
     output("<PackageDefinitionNode />");
     return(null);
 }