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

RestOfPropertyDefinition() private method

private RestOfPropertyDefinition ( int startIndex, LNode type, LNode name, bool isExpression ) : LNode
startIndex int
type LNode
name LNode
isExpression bool
return LNode
		LNode RestOfPropertyDefinition(int startIndex, LNode type, LNode name, bool isExpression)
		{
			TokenType la0;
			Token lb = default(Token);
			Token rb = default(Token);
			LNode result = default(LNode);
			// line 1662
			LNode args = F.Missing;
			// Line 1663: (TT.LBrack TT.RBrack)?
			la0 = LA0;
			if (la0 == TT.LBrack) {
				lb = MatchAny();
				rb = Match((int) TT.RBrack);
				// line 1663
				args = ArgList(lb, rb);
			}
			WhereClausesOpt(ref name);
			// line 1665
			LNode initializer;
			var body = MethodBodyOrForward(true, out initializer, isExpression);
			// line 1668
			var parts = new VList<LNode> { 
				type, name, args, body
			};
			if (initializer != null) {
				parts.Add(initializer);
			}
			int targetIndex = type.Range.StartIndex;
			result = F.Call(S.Property, parts, startIndex, body.Range.EndIndex, targetIndex, targetIndex);
			return result;
		}
	
EcsParser