File: HubClientProxyGenerator.SourceGenerationSpec.cs
Web Access
Project: src\src\SignalR\clients\csharp\Client.SourceGenerator\src\Microsoft.AspNetCore.SignalR.Client.SourceGenerator.csproj (Microsoft.AspNetCore.SignalR.Client.SourceGenerator)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Collections.Generic;
using Microsoft.CodeAnalysis;
 
namespace Microsoft.AspNetCore.SignalR.Client.SourceGenerator;
 
internal partial class HubClientProxyGenerator
{
    public sealed class SourceGenerationSpec
    {
        public string? SetterNamespace;
        public string? SetterClassName;
        public string? SetterMethodName;
        public string? SetterTypeParameterName;
        public string? SetterHubConnectionParameterName;
        public string? SetterProviderParameterName;
        public string? SetterMethodAccessibility;
        public string? SetterClassAccessibility;
        public List<TypeSpec> Types = new();
    }
 
    public sealed class TypeSpec
    {
        public string TypeName;
        public List<MethodSpec> Methods = new();
        public Location CallSite;
        public string FullyQualifiedTypeName;
    }
 
    public sealed class MethodSpec
    {
        public string Name;
        public List<ArgumentSpec> Arguments = new();
        public SupportClassification Support;
        public string? SupportHint;
    }
 
    public enum SupportClassification
    {
        Supported,
        UnsupportedReturnType
    }
 
    public sealed class ArgumentSpec
    {
        public string Name;
        public string FullyQualifiedTypeName;
    }
}