Browse Source

Switch to IReadOnlyCollection<T> and fix compiler errors

pull/672/head
Joe4evr 8 years ago
parent
commit
f77627484f
3 changed files with 9 additions and 9 deletions
  1. +2
    -2
      src/Discord.Net.Commands/CommandMatch.cs
  2. +3
    -3
      src/Discord.Net.Commands/Info/CommandInfo.cs
  3. +4
    -4
      src/Discord.Net.Commands/Results/PreconditionGroupResult.cs

+ 2
- 2
src/Discord.Net.Commands/CommandMatch.cs View File

@@ -16,9 +16,9 @@ namespace Discord.Commands
Alias = alias;
}

public Task<PreconditionResult> CheckPreconditionsAsync(ICommandContext context, IServiceProvider services = null)
public Task<IResult> CheckPreconditionsAsync(ICommandContext context, IServiceProvider services = null)
=> Command.CheckPreconditionsAsync(context, services);
public Task<ParseResult> ParseAsync(ICommandContext context, SearchResult searchResult, PreconditionResult? preconditionResult = null)
public Task<ParseResult> ParseAsync(ICommandContext context, SearchResult searchResult, IResult preconditionResult = null)
=> Command.ParseAsync(context, Alias.Length, searchResult, preconditionResult);
public Task<ExecuteResult> ExecuteAsync(ICommandContext context, IEnumerable<object> argList, IEnumerable<object> paramList, IServiceProvider services)
=> Command.ExecuteAsync(context, argList, paramList, services);


+ 3
- 3
src/Discord.Net.Commands/Info/CommandInfo.cs View File

@@ -105,12 +105,12 @@ namespace Discord.Commands
return PreconditionResult.FromSuccess();
}
public async Task<ParseResult> ParseAsync(ICommandContext context, int startIndex, SearchResult searchResult, PreconditionResult? preconditionResult = null)
public async Task<ParseResult> ParseAsync(ICommandContext context, int startIndex, SearchResult searchResult, IResult 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);


+ 4
- 4
src/Discord.Net.Commands/Results/PreconditionGroupResult.cs View File

@@ -13,18 +13,18 @@ namespace Discord.Commands

public bool IsSuccess => !Error.HasValue;

public IEnumerable<PreconditionResult> Preconditions { get; }
public IReadOnlyCollection<PreconditionResult> Preconditions { get; }

private PreconditionGroupResult(CommandError? error, string errorReason, IEnumerable<PreconditionResult> preconditions)
private PreconditionGroupResult(CommandError? error, string errorReason, ICollection<PreconditionResult> preconditions)
{
Error = error;
ErrorReason = errorReason;
Preconditions = preconditions ?? Enumerable.Empty<PreconditionResult>();
Preconditions = (preconditions ?? Enumerable.Empty<PreconditionResult>().ToList()).ToReadOnlyCollection();
}

public static PreconditionGroupResult FromSuccess()
=> new PreconditionGroupResult(null, null, null);
public static PreconditionGroupResult FromError(string reason, IEnumerable<PreconditionResult> preconditions)
public static PreconditionGroupResult FromError(string reason, ICollection<PreconditionResult> preconditions)
=> new PreconditionGroupResult(CommandError.UnmetPrecondition, reason, preconditions);
public static PreconditionGroupResult FromError(IResult result) //needed?
=> new PreconditionGroupResult(result.Error, result.ErrorReason, null);


Loading…
Cancel
Save