Loyc.Ecs.Parser.EcsParser.IfStmt C# (CSharp) Method

IfStmt() private method

private IfStmt ( int startIndex ) : LNode
startIndex int
return LNode
		LNode IfStmt(int startIndex)
		{
			TokenType la0;
			// line 1991
			LNode @else = null;
			var kw = MatchAny();
			var p = Match((int) TT.LParen);
			Match((int) TT.RParen);
			var then = Stmt();
			// Line 1993: greedy(TT.Else Stmt)?
			la0 = LA0;
			if (la0 == TT.Else) {
				Skip();
				@else = Stmt();
			}
			// line 1995
			var cond = SingleExprInside(p, "if (...)");
			var parts = (@else == null ? LNode.List(cond, then) : LNode.List(cond, then, @else));
			return F.Call(kw, parts, startIndex, then.Range.EndIndex);
		}
	
EcsParser