Exemple #1
0
        XmlParserState SwitchToStatement(IXmlParserContext context, ref string rollback)
        {
            string key = context.KeywordBuilder.ToString();
            var    stm = new RazorStatement(context.LocationMinus(key.Length + 2))
            {
                Name = key.Trim()
            };

            context.Nodes.Push(stm);
            rollback = String.Empty;
            return(EnsureSetAndAdopted <RazorStatementState> (ref statementState));
        }
        XmlParserState SwitchToContinuationStatement(IXmlParserContext context, string key)
        {
            string name   = key.Trim();
            int    length = key.Length;

            if (name == "else if")
            {
                length = key.Length - 1;
            }
            else if (name == "else")
            {
                length = key.Length + 1;
            }
            var stm = new RazorStatement(context.LocationMinus(length))
            {
                Name = name
            };

            context.Nodes.Push(stm);
            return(EnsureSetAndAdopted <RazorStatementState> (ref statementState));
        }