CSharpUtils.Templates.TemplateHandler.HandleLevel_TagSpecial_For C# (CSharp) Method

HandleLevel_TagSpecial_For() protected method

protected HandleLevel_TagSpecial_For ( ) : ParserNode
return ParserNode
		protected ParserNode HandleLevel_TagSpecial_For()
		{
			Tokens.MoveNext();

			String VarName = CurrentToken.Text;
			Tokens.MoveNext();
			Tokens.ExpectValueAndNext("in");
			ParserNode LoopIterator = HandleLevel_Expression();
			Tokens.ExpectValueAndNext("%}");

			ParserNode ElseBlock = new DummyParserNode();
			ParserNode BodyBlock = HandleLevel_Root();

			if (Tokens.Current.Text == "else")
			{
				Tokens.MoveNext();
				Tokens.ExpectValueAndNext("%}");
				ElseBlock = HandleLevel_Root();
			}

			Tokens.ExpectValueAndNext("endfor");
			Tokens.ExpectValueAndNext("%}");

			return new ForeachParserNode()
			{
				LoopIterator = LoopIterator,
				VarName = VarName,
				BodyBlock = BodyBlock,
				ElseBlock = ElseBlock,
			};
		}