From 74b89964d44d0b53b27dedfe5f88bc00ec870a3e Mon Sep 17 00:00:00 2001 From: FiniteReality Date: Thu, 27 Apr 2017 15:12:03 +0100 Subject: [PATCH 1/2] Change result types from struct to class --- src/Discord.Net.Commands/Results/ExecuteResult.cs | 2 +- src/Discord.Net.Commands/Results/ParseResult.cs | 2 +- src/Discord.Net.Commands/Results/PreconditionResult.cs | 2 +- src/Discord.Net.Commands/Results/SearchResult.cs | 2 +- src/Discord.Net.Commands/Results/TypeReaderResult.cs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Discord.Net.Commands/Results/ExecuteResult.cs b/src/Discord.Net.Commands/Results/ExecuteResult.cs index bad39e230..69136f5f5 100644 --- a/src/Discord.Net.Commands/Results/ExecuteResult.cs +++ b/src/Discord.Net.Commands/Results/ExecuteResult.cs @@ -4,7 +4,7 @@ using System.Diagnostics; namespace Discord.Commands { [DebuggerDisplay(@"{DebuggerDisplay,nq}")] - public struct ExecuteResult : IResult + public class ExecuteResult : IResult { public Exception Exception { get; } diff --git a/src/Discord.Net.Commands/Results/ParseResult.cs b/src/Discord.Net.Commands/Results/ParseResult.cs index d4a9af521..e2d1b7202 100644 --- a/src/Discord.Net.Commands/Results/ParseResult.cs +++ b/src/Discord.Net.Commands/Results/ParseResult.cs @@ -4,7 +4,7 @@ using System.Diagnostics; namespace Discord.Commands { [DebuggerDisplay(@"{DebuggerDisplay,nq}")] - public struct ParseResult : IResult + public class ParseResult : IResult { public IReadOnlyList ArgValues { get; } public IReadOnlyList ParamValues { get; } diff --git a/src/Discord.Net.Commands/Results/PreconditionResult.cs b/src/Discord.Net.Commands/Results/PreconditionResult.cs index 77ba1b5b9..c7187ebc1 100644 --- a/src/Discord.Net.Commands/Results/PreconditionResult.cs +++ b/src/Discord.Net.Commands/Results/PreconditionResult.cs @@ -3,7 +3,7 @@ namespace Discord.Commands { [DebuggerDisplay(@"{DebuggerDisplay,nq}")] - public struct PreconditionResult : IResult + public class PreconditionResult : IResult { public CommandError? Error { get; } public string ErrorReason { get; } diff --git a/src/Discord.Net.Commands/Results/SearchResult.cs b/src/Discord.Net.Commands/Results/SearchResult.cs index 87d900d4d..6cec7aa74 100644 --- a/src/Discord.Net.Commands/Results/SearchResult.cs +++ b/src/Discord.Net.Commands/Results/SearchResult.cs @@ -4,7 +4,7 @@ using System.Diagnostics; namespace Discord.Commands { [DebuggerDisplay(@"{DebuggerDisplay,nq}")] - public struct SearchResult : IResult + public class SearchResult : IResult { public string Text { get; } public IReadOnlyList Commands { get; } diff --git a/src/Discord.Net.Commands/Results/TypeReaderResult.cs b/src/Discord.Net.Commands/Results/TypeReaderResult.cs index 68bc359c6..923143f88 100644 --- a/src/Discord.Net.Commands/Results/TypeReaderResult.cs +++ b/src/Discord.Net.Commands/Results/TypeReaderResult.cs @@ -6,7 +6,7 @@ using System.Diagnostics; namespace Discord.Commands { [DebuggerDisplay(@"{DebuggerDisplay,nq}")] - public struct TypeReaderValue + public class TypeReaderValue { public object Value { get; } public float Score { get; } From 9fc70e275da2993d64af9ed61d10b9ad5675185c Mon Sep 17 00:00:00 2001 From: FiniteReality Date: Thu, 27 Apr 2017 16:06:34 +0100 Subject: [PATCH 2/2] Fix build errors Visual Studio didn't build it properly, and showed that everything was ok. Whoops. --- src/Discord.Net.Commands/CommandMatch.cs | 2 +- src/Discord.Net.Commands/Info/CommandInfo.cs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Discord.Net.Commands/CommandMatch.cs b/src/Discord.Net.Commands/CommandMatch.cs index 6e78b8509..5f4a4424d 100644 --- a/src/Discord.Net.Commands/CommandMatch.cs +++ b/src/Discord.Net.Commands/CommandMatch.cs @@ -16,7 +16,7 @@ namespace Discord.Commands public Task CheckPreconditionsAsync(ICommandContext context, IDependencyMap map = null) => Command.CheckPreconditionsAsync(context, map); - public Task ParseAsync(ICommandContext context, SearchResult searchResult, PreconditionResult? preconditionResult = null) + public Task ParseAsync(ICommandContext context, SearchResult searchResult, PreconditionResult preconditionResult = null) => Command.ParseAsync(context, Alias.Length, searchResult, preconditionResult); public Task ExecuteAsync(ICommandContext context, IEnumerable argList, IEnumerable paramList, IDependencyMap map) => Command.ExecuteAsync(context, argList, paramList, map); diff --git a/src/Discord.Net.Commands/Info/CommandInfo.cs b/src/Discord.Net.Commands/Info/CommandInfo.cs index 9abe6de32..efa9da56d 100644 --- a/src/Discord.Net.Commands/Info/CommandInfo.cs +++ b/src/Discord.Net.Commands/Info/CommandInfo.cs @@ -85,12 +85,12 @@ namespace Discord.Commands return PreconditionResult.FromSuccess(); } - public async Task ParseAsync(ICommandContext context, int startIndex, SearchResult searchResult, PreconditionResult? preconditionResult = null) + public async Task ParseAsync(ICommandContext context, int startIndex, SearchResult searchResult, PreconditionResult preconditionResult = null) { if (!searchResult.IsSuccess) return ParseResult.FromError(searchResult); - if (preconditionResult != null && !preconditionResult.Value.IsSuccess) - return ParseResult.FromError(preconditionResult.Value); + if (preconditionResult != null && !preconditionResult.IsSuccess) + return ParseResult.FromError(preconditionResult); string input = searchResult.Text.Substring(startIndex); return await CommandParser.ParseArgs(this, context, input, 0).ConfigureAwait(false);