Esempio n. 1
0
        // this won't appear in the overall AST, but in the course of debugging it may be worthwhile to print out a partial node
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder("GPARTIAL<<");

            if (NumTimes != null)
            {
                if (NumTimes is LiteralNode || NumTimes is MacroNode)
                {
                    sb.Append(NumTimes.ToString());
                }
                else
                {
                    sb.AppendFormat("({0})", NumTimes.ToString());
                }
            }

            sb.Append("{");
            sb.Append(String.Join(", ", GroupExpressions.Select(o => o.ToString())));
            sb.Append("}");

            if (RerollNode != null)
            {
                sb.Append(RerollNode.ToString());
            }

            foreach (var k in Keep)
            {
                sb.Append(k.ToString());
            }

            if (Sort != null)
            {
                sb.Append(Sort.ToString());
            }

            if (Success != null)
            {
                sb.Append(Success.ToString());
            }

            foreach (var f in Functions)
            {
                sb.Append(f.ToString());
            }

            sb.Append(">>");

            return(sb.ToString());
        }
Esempio n. 2
0
            //<Grouping Name="matrix2_SubCat">

            #region IRdlElement Members

            public void WriteTo(XmlWriter xmlWriter)
            {
                xmlWriter.WriteStartElement("Grouping");
                {
                    xmlWriter.WriteAttributeString("Name", Name);

                    GroupExpressions.WriteTo(xmlWriter);

                    if (Parent != null)
                    {
                        xmlWriter.WriteElementString("Parent", Parent);
                    }
                }
                xmlWriter.WriteEndElement();
            }
Esempio n. 3
0
 internal void AddExpression(DiceAST expression)
 {
     GroupExpressions.Add(expression);
 }