Beispiel #1
0
        /// <summary>
        /// Generates the code for a DoWhileStatement node.
        /// </summary>
        /// <param name="dws">The DoWhileStatement node.</param>
        /// <returns>String containing C# code for DoWhileStatement dws.</returns>
        private string GenerateDoWhileStatement(DoWhileStatement dws)
        {
            string retstr = String.Empty;

            retstr += GenerateIndentedLine("do", dws);

            // CompoundStatement handles indentation itself but we need to do it
            // otherwise.
            bool indentHere = dws.kids.Top is Statement;
            if (indentHere) m_braceCount++;
            retstr += GenerateNode(dws, (SYMBOL) dws.kids.Pop());
            if (indentHere) m_braceCount--;

            retstr += GenerateIndented("while (", dws);
            retstr += GenerateNode(dws, (SYMBOL) dws.kids.Pop());
            retstr += GenerateLine(");");

            return retstr;
        }
Beispiel #2
0
 public  Statement (Parser yyp, DoWhileStatement  ifs ):base(((LSLSyntax
)yyp)){ kids . Add ( ifs );
}