State SwitchToStatement(IParseContext 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)); }
State SwitchToContinuationStatement(IParseContext 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)); }
State SwitchToStatement (IParseContext 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); }