< Summary

Information
Class: TeleFlow.Telegram.Internal.Handlers.TelegramErrorHandlerDescriptor
Assembly: TeleFlow.Framework
File(s): /_/src/TeleFlow.Framework/Internal/Handlers/TelegramErrorHandlerDescriptor.cs
Line coverage
100%
Covered lines: 26
Uncovered lines: 0
Coverable lines: 26
Total lines: 98
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
.ctor(...)100%11100%
.ctor(...)100%11100%

File(s)

/_/src/TeleFlow.Framework/Internal/Handlers/TelegramErrorHandlerDescriptor.cs

#LineLine coverage
 1using System.Reflection;
 2
 3namespace TeleFlow.Telegram.Internal.Handlers;
 4
 5internal delegate ValueTask<TelegramErrorHandlingResult> TelegramErrorHandlerGeneratedInvoker(
 6    IServiceProvider services,
 7    object?[] arguments,
 8    CancellationToken cancellationToken);
 9
 10internal sealed class TelegramErrorHandlerDescriptor
 11{
 12    public TelegramErrorHandlerDescriptor(
 13        Type handlerType,
 14        MethodInfo method,
 15        Type? exceptionType,
 16        Type? telegramContextType,
 17        int registrationOrder,
 18        string? moduleName,
 19        IReadOnlyList<TelegramErrorHandlerParameterDescriptor> parameters)
 2420        : this(
 2421            handlerType,
 2422            method,
 2423            method.Name,
 2424            generatedInvoker: null,
 2425            exceptionType,
 2426            telegramContextType,
 2427            registrationOrder,
 2428            moduleName,
 2429            parameters)
 30    {
 2431    }
 32
 33    public TelegramErrorHandlerDescriptor(
 34        Type handlerType,
 35        string methodName,
 36        TelegramErrorHandlerGeneratedInvoker generatedInvoker,
 37        Type? exceptionType,
 38        Type? telegramContextType,
 39        int registrationOrder,
 40        string? moduleName,
 41        IReadOnlyList<TelegramErrorHandlerParameterDescriptor> parameters)
 10242        : this(
 10243            handlerType,
 10244            method: null,
 10245            methodName,
 10246            generatedInvoker,
 10247            exceptionType,
 10248            telegramContextType,
 10249            registrationOrder,
 10250            moduleName,
 10251            parameters)
 52    {
 10253    }
 54
 55    private TelegramErrorHandlerDescriptor(
 56        Type handlerType,
 57        MethodInfo? method,
 58        string methodName,
 59        TelegramErrorHandlerGeneratedInvoker? generatedInvoker,
 60        Type? exceptionType,
 61        Type? telegramContextType,
 62        int registrationOrder,
 63        string? moduleName,
 64        IReadOnlyList<TelegramErrorHandlerParameterDescriptor> parameters)
 65    {
 12666        ArgumentNullException.ThrowIfNull(handlerType);
 12667        ArgumentException.ThrowIfNullOrWhiteSpace(methodName);
 12668        ArgumentNullException.ThrowIfNull(parameters);
 69
 70        HandlerType = handlerType;
 71        Method = method;
 72        MethodName = methodName;
 73        GeneratedInvoker = generatedInvoker;
 74        ExceptionType = exceptionType;
 75        TelegramContextType = telegramContextType;
 76        RegistrationOrder = registrationOrder;
 77        ModuleName = moduleName;
 78        Parameters = parameters;
 12679    }
 80
 81    public Type HandlerType { get; }
 82
 83    public MethodInfo? Method { get; }
 84
 85    public string MethodName { get; }
 86
 87    public TelegramErrorHandlerGeneratedInvoker? GeneratedInvoker { get; }
 88
 89    public Type? ExceptionType { get; }
 90
 91    public Type? TelegramContextType { get; }
 92
 93    public int RegistrationOrder { get; }
 94
 95    public string? ModuleName { get; }
 96
 97    public IReadOnlyList<TelegramErrorHandlerParameterDescriptor> Parameters { get; }
 98}