private IExpression ReadUncontinuedExpression(IParseContext context) { if (context.NextCodeToken.Kind == TokenKind.OpenAngularBracket) { return(ReadTypeCastExpression(context)); } if (context.NextCodeToken.Kind == TokenKind.OpenParanthesis) { return(ReadParanthesisExpression(context)); } if (context.NextCodeToken.Kind == TokenKind.New) { return(ReadArrayAllocationExpression(context)); } if (UnaryOperator.IsTokenKindValid(context.NextCodeToken.Kind)) { return(ReadUnaryOperatorExpression(context)); } return(ReadAtomicExpression(context)); }