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, 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;
		}