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

MethodOrPropertyOrVarStmt() private method

private MethodOrPropertyOrVarStmt ( int startIndex, VList attrs ) : LNode
startIndex int
attrs VList
return LNode
		LNode MethodOrPropertyOrVarStmt(int startIndex, VList<LNode> attrs)
		{
			TokenType la0;
			LNode result = default(LNode);
			// Line 1291: ( TraitDecl / AliasDecl / MethodOrPropertyOrVar )
			la0 = LA0;
			if (la0 == TT.ContextualKeyword) {
				if (Is(0, _trait)) {
					switch (LA(1)) {
					case TT.ContextualKeyword: case TT.Id: case TT.Operator: case TT.Substitute:
					case TT.This: case TT.TypeKeyword:
						{
							result = TraitDecl(startIndex);
							// line 1291
							result = result.PlusAttrs(attrs);
						}
						break;
					default:
						result = MethodOrPropertyOrVar(startIndex, attrs);
						break;
					}
				} else if (Is(0, _alias)) {
					switch (LA(1)) {
					case TT.ContextualKeyword: case TT.Id: case TT.Operator: case TT.Substitute:
					case TT.This: case TT.TypeKeyword:
						{
							result = AliasDecl(startIndex);
							// line 1292
							result = result.PlusAttrs(attrs);
						}
						break;
					default:
						result = MethodOrPropertyOrVar(startIndex, attrs);
						break;
					}
				} else
					result = MethodOrPropertyOrVar(startIndex, attrs);
			} else
				result = MethodOrPropertyOrVar(startIndex, attrs);
			return result;
		}
	
EcsParser