/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Analyzers/Core/CodeFixes/GenerateParameterizedMember/AbstractGenerateParameterizedMemberService.MethodSignatureInfo.cs
48 строк
2 KB
Cyrus Najmabadi
Make sealed
26 мар 2025, 22:21
26 мар 2025, 22:21
d99b771
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Immutable; using System.Threading; using Microsoft.CodeAnalysis.CodeGeneration; namespace Microsoft.CodeAnalysis.GenerateMember.GenerateParameterizedMember; internal abstract partial class AbstractGenerateParameterizedMemberService<TService, TSimpleNameSyntax, TExpressionSyntax, TInvocationExpressionSyntax> { protected sealed class MethodSignatureInfo( SemanticDocument document, State state, IMethodSymbol methodSymbol, ImmutableArray<string> parameterNames = default) : SignatureInfo(document, state) { private readonly IMethodSymbol _methodSymbol = methodSymbol; private readonly ImmutableArray<string> _parameterNames = parameterNames; protected override ITypeSymbol DetermineReturnTypeWorker(CancellationToken cancellationToken) => _methodSymbol.ReturnType; protected override RefKind DetermineRefKind(CancellationToken cancellationToken) => _methodSymbol.RefKind; protected override ImmutableArray<ITypeParameterSymbol> DetermineTypeParametersWorker(CancellationToken cancellationToken) => _methodSymbol.TypeParameters; protected override ImmutableArray<RefKind> DetermineParameterModifiers(CancellationToken cancellationToken) => _methodSymbol.Parameters.SelectAsArray(p => p.RefKind); protected override ImmutableArray<bool> DetermineParameterOptionality(CancellationToken cancellationToken) => _methodSymbol.Parameters.SelectAsArray(p => p.IsOptional); protected override ImmutableArray<ITypeSymbol> DetermineParameterTypes(CancellationToken cancellationToken) => _methodSymbol.Parameters.SelectAsArray(p => p.Type); protected override ImmutableArray<ParameterName> DetermineParameterNames(CancellationToken cancellationToken) => _parameterNames.IsDefault ? _methodSymbol.Parameters.SelectAsArray(p => new ParameterName(p.Name, isFixed: true)) : _parameterNames.SelectAsArray(p => new ParameterName(p, isFixed: true)); protected override ImmutableArray<ITypeSymbol> DetermineTypeArguments(CancellationToken cancellationToken) => []; } }