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

Fixed parameters

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