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