diff --git a/Rubberduck.Core/UI/Refactorings/RemoveParameters/RemoveParametersViewModel.cs b/Rubberduck.Core/UI/Refactorings/RemoveParameters/RemoveParametersViewModel.cs
index c0d68968a7..8956ff544e 100644
--- a/Rubberduck.Core/UI/Refactorings/RemoveParameters/RemoveParametersViewModel.cs
+++ b/Rubberduck.Core/UI/Refactorings/RemoveParameters/RemoveParametersViewModel.cs
@@ -90,58 +90,46 @@ public string SignaturePreview
private string GetSignature(SubroutineDeclaration member)
{
- var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();
- signature += " Sub " + member.IdentifierName + "(";
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name);
- return signature + string.Join(", ", selectedParams) + ")";
+ return $"{access} Sub {member.IdentifierName}({string.Join(", ", selectedParams)})";
}
private string GetSignature(FunctionDeclaration member)
{
- var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();
- signature += " Function " + member.IdentifierName + "(";
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name);
- return signature + string.Join(", ", selectedParams) + ") As " + member.AsTypeName;
+ return $"{access} Function {member.IdentifierName}({string.Join(", ", selectedParams)}) As {member.AsTypeName}";
}
private string GetSignature(EventDeclaration member)
{
- var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();
- signature += " Event " + member.IdentifierName + "(";
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name);
- return signature + string.Join(", ", selectedParams) + ")";
+ return $"{access} Event {member.IdentifierName}({string.Join(", ", selectedParams)})";
}
private string GetSignature(PropertyGetDeclaration member)
{
- var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();
- signature += " Property Get " + member.IdentifierName + "(";
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name);
- return signature + string.Join(", ", selectedParams) + ") As " + member.AsTypeName;
+ return $"{access} Property Get {member.IdentifierName}({string.Join(", ", selectedParams)}) As {member.AsTypeName}";
}
private string GetSignature(PropertyLetDeclaration member)
{
- var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();
- signature += " Property Let " + member.IdentifierName + "(";
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name).ToList();
selectedParams.Add(new Parameter(member.Parameters.Last()).Name);
- return signature + string.Join(", ", selectedParams) + ")";
+ return $"{access} Property Let {member.IdentifierName}({string.Join(", ", selectedParams)})";
}
private string GetSignature(PropertySetDeclaration member)
{
- var signature = member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString();
- signature += " Property Set " + member.IdentifierName + "(";
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Where(p => !p.IsRemoved).Select(s => s.Name).ToList();
selectedParams.Add(new Parameter(member.Parameters.Last()).Name);
- return signature + string.Join(", ", selectedParams) + ")";
+ return $"{access} Property Set {member.IdentifierName}({string.Join(", ", selectedParams)})";
}
private void RemoveParameter(ParameterViewModel parameter)
diff --git a/Rubberduck.Core/UI/Refactorings/ReorderParameters/ReorderParametersViewModel.cs b/Rubberduck.Core/UI/Refactorings/ReorderParameters/ReorderParametersViewModel.cs
index 8750086836..a8bdfe3536 100644
--- a/Rubberduck.Core/UI/Refactorings/ReorderParameters/ReorderParametersViewModel.cs
+++ b/Rubberduck.Core/UI/Refactorings/ReorderParameters/ReorderParametersViewModel.cs
@@ -93,70 +93,48 @@ public string SignaturePreview
private string GetSignature(SubroutineDeclaration member)
{
- var signature = new StringBuilder();
- signature.Append(member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString());
- signature.Append($" Sub {member.IdentifierName}(");
-
- var selectedParams = Parameters.Select(s => s.Name);
- signature.Append($", {selectedParams})");
- return signature.ToString();
+ var accessibility = member.Accessibility.TokenString();
+ var parameterList = string.Join(", ", Parameters.Select(p => p.Name));
+ return $"{accessibility} Sub {member.IdentifierName}({parameterList})";
}
private string GetSignature(FunctionDeclaration member)
{
- var signature = new StringBuilder();
- signature.Append(member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString());
- signature.Append($" Function {member.IdentifierName}(");
-
- var selectedParams = Parameters.Select(s => s.Name);
- signature.Append($", {selectedParams}) As {member.AsTypeName}");
- return signature.ToString();
+ var accessibility = member.Accessibility.TokenString();
+ var parameterList = string.Join(", ", Parameters.Select(p => p.Name));
+ return $"{accessibility} Function {member.IdentifierName}({parameterList}) As {member.AsTypeName}";
}
private string GetSignature(EventDeclaration member)
{
- var signature = new StringBuilder();
- signature.Append(member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString());
- signature.Append($" Event {member.IdentifierName}(");
-
- var selectedParams = Parameters.Select(s => s.Name);
- signature.Append($", {selectedParams})");
- return signature.ToString();
+ var access = member.Accessibility.TokenString();
+ var parameters = string.Join(", ", Parameters.Select(p => p.Name));
+ return $"{access} Event {member.IdentifierName}({parameters})";
}
private string GetSignature(PropertyGetDeclaration member)
{
- var signature = new StringBuilder();
- signature.Append(member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString());
- signature.Append($" Property Get {member.IdentifierName}(");
-
- var selectedParams = Parameters.Select(s => s.Name);
- signature.Append($", {selectedParams}) As {member.AsTypeName}");
- return signature.ToString();
+ var access = member.Accessibility.TokenString();
+ var parameters = string.Join(", ", Parameters.Select(p => p.Name));
+ return $"{access} Property Get {member.IdentifierName}({parameters}) As {member.AsTypeName}";
}
private string GetSignature(PropertyLetDeclaration member)
{
- var signature = new StringBuilder();
- signature.Append(member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString());
- signature.Append($" Property Let {member.IdentifierName}(");
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Select(s => s.Name).ToList();
selectedParams.Add(new Parameter(member.Parameters.Last(), -1).Name);
- signature.Append($", {selectedParams})");
- return signature.ToString();
+ var parameters = string.Join(", ", selectedParams);
+ return $"{access} Property Let {member.IdentifierName}({parameters})";
}
private string GetSignature(PropertySetDeclaration member)
{
- var signature = new StringBuilder();
- signature.Append(member.Accessibility == Accessibility.Implicit ? string.Empty : member.Accessibility.ToString());
- signature.Append($" Property Set {member.IdentifierName}(");
-
+ var access = member.Accessibility.TokenString();
var selectedParams = Parameters.Select(s => s.Name).ToList();
selectedParams.Add(new Parameter(member.Parameters.Last(), -1).Name);
- signature.Append($", {selectedParams})");
- return signature.ToString();
+ var parameters = string.Join(", ", selectedParams);
+ return $"{access} Property Set {member.IdentifierName}({parameters})";
}
public void UpdatePreview() => OnPropertyChanged(nameof(SignaturePreview));
diff --git a/Rubberduck.Parsing/Symbols/Accessibility.cs b/Rubberduck.Parsing/Symbols/Accessibility.cs
index 85df8b6d9a..918fad04ac 100644
--- a/Rubberduck.Parsing/Symbols/Accessibility.cs
+++ b/Rubberduck.Parsing/Symbols/Accessibility.cs
@@ -9,4 +9,17 @@ public enum Accessibility
Global = 5,
Static = 6
}
+
+ public static class AccessibilityExtensions
+ {
+ ///
+ /// Gets the string/token representation of an accessibility specifier.
+ ///
+ /// Implicit accessibility being unspecified, yields an empty string.
+ public static string TokenString(this Accessibility access)
+ {
+ return access == Accessibility.Implicit ? string.Empty : access.ToString();
+ }
+ }
+
}