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

ExprStartNNP() public method

public ExprStartNNP ( bool allowUnassignedVarDecl ) : LNode
allowUnassignedVarDecl bool
return LNode
		public LNode ExprStartNNP(bool allowUnassignedVarDecl)
		{
			// line 714
			var attrs = VList<LNode>.Empty;
			var hasList = NormalAttributes(ref attrs);
			AttributeKeywords(ref attrs);
			// line 719
			if ((!attrs.IsEmpty || hasList)) {
				allowUnassignedVarDecl = true;
			}
			LNode expr;
			TentativeResult result, _;
			if ((allowUnassignedVarDecl)) {
				expr = TentativeVarDecl(attrs, out result, allowUnassignedVarDecl) ?? TentativeExpr(attrs, out result);
			} else {
				expr = TentativeExpr(attrs, out result);
				if (expr == null || expr.Calls(S.Assign, 2)) {
					InputPosition = result.OldPosition;
					expr = TentativeVarDecl(attrs, out _, allowUnassignedVarDecl);
				}
			}
			expr = expr ?? Apply(result);
			return expr;
		}
	
EcsParser