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

WhereClause() private method

private WhereClause ( ) : LNode>.KeyValuePair
return LNode>.KeyValuePair
		KeyValuePair<Symbol, LNode> WhereClause()
		{
			TokenType la0;
			Check(Is(0, _where), "Expected Is($LI, _where)");
			var where = MatchAny();
			var T = Match((int) TT.ContextualKeyword, (int) TT.Id);
			Match((int) TT.Colon);
			// line 1567
			var constraints = VList<LNode>.Empty;
			constraints.Add(WhereConstraint());
			// Line 1569: (TT.Comma WhereConstraint)*
			for (;;) {
				la0 = LA0;
				if (la0 == TT.Comma) {
					Skip();
					constraints.Add(WhereConstraint());
				} else
					break;
			}
			// line 1570
			return new KeyValuePair<Symbol, LNode>((Symbol) T.Value, F.Call(S.Where, constraints, where.StartIndex, constraints.Last.Range.EndIndex, where.StartIndex, where.EndIndex));
		}
	
EcsParser