提交 6fb0c473 编写于 作者: A Allison Chou

Fixed parameters

上级 fc40709e
......@@ -37,7 +37,7 @@ protected override bool IsImplicitConversion(Compilation compilation, ITypeSymbo
=> InitializeParameterHelpers.IsImplicitConversion(compilation, source, destination);
// Fields are always private by default in C#.
protected override Accessibility DetermineDefaultFieldAccessibility(Document document, SyntaxNode functionDeclaration, INamedTypeSymbol containingType, CancellationToken cancellationToken)
protected override Accessibility DetermineDefaultFieldAccessibility(INamedTypeSymbol containingType)
=> Accessibility.Private;
// Properties are always private by default in C#.
......
......@@ -33,7 +33,7 @@ internal abstract partial class AbstractInitializeMemberFromParameterCodeRefacto
{
protected abstract SyntaxNode TryGetLastStatement(IBlockOperation blockStatementOpt);
protected abstract Accessibility DetermineDefaultFieldAccessibility(Document document, SyntaxNode functionDeclaration, INamedTypeSymbol containingType, CancellationToken cancellationToken);
protected abstract Accessibility DetermineDefaultFieldAccessibility(INamedTypeSymbol containingType);
protected abstract Accessibility DetermineDefaultPropertyAccessibility();
......@@ -114,8 +114,8 @@ internal abstract partial class AbstractInitializeMemberFromParameterCodeRefacto
var options = await document.GetOptionsAsync(cancellationToken).ConfigureAwait(false);
var requireAccessibilityModifiers = options.GetOption(CodeStyleOptions.RequireAccessibilityModifiers);
var field = CreateField(document, requireAccessibilityModifiers, functionDeclaration, parameter, rules, parameterNameParts, cancellationToken);
var property = CreateProperty(document, requireAccessibilityModifiers, parameter, rules, parameterNameParts, cancellationToken);
var field = CreateField(requireAccessibilityModifiers, parameter, rules, parameterNameParts);
var property = CreateProperty(requireAccessibilityModifiers, parameter, rules, parameterNameParts);
// Offer to generate either a property or a field. Currently we place the property
// suggestion first (to help users with the immutable object+property pattern). But
......@@ -129,13 +129,10 @@ internal abstract partial class AbstractInitializeMemberFromParameterCodeRefacto
}
private IFieldSymbol CreateField(
Document document,
CodeStyleOption<AccessibilityModifiersRequired> requireAccessibilityModifiers,
SyntaxNode functionDeclaration,
IParameterSymbol parameter,
ImmutableArray<NamingRule> rules,
ImmutableArray<string> parameterNameParts,
CancellationToken cancellationToken)
ImmutableArray<string> parameterNameParts)
{
foreach (var rule in rules)
{
......@@ -146,7 +143,7 @@ internal abstract partial class AbstractInitializeMemberFromParameterCodeRefacto
var accessibilityLevel = Accessibility.Private;
if (requireAccessibilityModifiers.Value == AccessibilityModifiersRequired.Never || requireAccessibilityModifiers.Value == AccessibilityModifiersRequired.OmitIfDefault)
{
var defaultAccessibility = DetermineDefaultFieldAccessibility(document, functionDeclaration, parameter.ContainingType, cancellationToken);
var defaultAccessibility = DetermineDefaultFieldAccessibility(parameter.ContainingType);
if (defaultAccessibility == Accessibility.Private)
{
accessibilityLevel = Accessibility.NotApplicable;
......@@ -180,11 +177,10 @@ private static string GenerateUniqueName(IParameterSymbol parameter, ImmutableAr
}
private IPropertySymbol CreateProperty(
Document document,
CodeStyleOption<AccessibilityModifiersRequired> requireAccessibilityModifiers,
IParameterSymbol parameter, ImmutableArray<NamingRule> rules,
ImmutableArray<string> parameterNameParts,
CancellationToken cancellationToken)
IParameterSymbol parameter,
ImmutableArray<NamingRule> rules,
ImmutableArray<string> parameterNameParts)
{
foreach (var rule in rules)
{
......
......@@ -43,7 +43,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.InitializeParameter
End Sub
' Fields are public by default in VB, except in the case of classes and modules.
Protected Overrides Function DetermineDefaultFieldAccessibility(document As Document, functionDeclaration As SyntaxNode, containingType As INamedTypeSymbol, cancellationToken As CancellationToken) As Accessibility
Protected Overrides Function DetermineDefaultFieldAccessibility(containingType As INamedTypeSymbol) As Accessibility
Return If(containingType.TypeKind = TypeKind.Class Or containingType.TypeKind = TypeKind.Module, Accessibility.Private, Accessibility.Public)
End Function
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册