Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Merge branch 'main' into fix/ca1850/fixer-removing-trivia
  • Loading branch information
wzchua committed Nov 16, 2021
commit b7ce64a5196a0b5c8c4bf33483a102e8ec242b10
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,41 @@ protected override bool IsInterestingTrivia(SyntaxTriviaList triviaList)
{
return triviaList.Any(t => !t.IsKind(SyntaxKind.WhitespaceTrivia) && !t.IsKind(SyntaxKind.EndOfLineTrivia));
}
protected override string? GetQualifiedPrefixNamespaces(SyntaxNode computeHashNode, SyntaxNode? createNode)
{
var invocationNode = (InvocationExpressionSyntax)computeHashNode;
string? ns = null;
if (createNode is not null)
{
var initliazerValue = ((VariableDeclaratorSyntax)createNode).Initializer.Value;
if (initliazerValue is InvocationExpressionSyntax { Expression: MemberAccessExpressionSyntax { Expression: MemberAccessExpressionSyntax originalType } })
{
ns = originalType.Expression.ToFullString();
}
else if (initliazerValue is ObjectCreationExpressionSyntax { Type: QualifiedNameSyntax { Left: QualifiedNameSyntax qualifiedNamespaceSyntax } })
{
ns = qualifiedNamespaceSyntax.ToFullString();
}

}
else if (invocationNode.Expression is MemberAccessExpressionSyntax { Expression: InvocationExpressionSyntax { Expression: MemberAccessExpressionSyntax { Expression: MemberAccessExpressionSyntax originalType } } })
{
// System.Security.Cryptography.SHA1.Create().ComputeHash(buffer)
// .ComputeHash(buffer) InvocationExpressionSyntax, MemberAccessExpressionSyntax
// .Create() InvocationExpressionSyntax, MemberAccessExpressionSyntax
ns = originalType.Expression.ToFullString();
}
else if (invocationNode.Expression is MemberAccessExpressionSyntax { Expression: ObjectCreationExpressionSyntax { Type: QualifiedNameSyntax { Left: QualifiedNameSyntax qualifiedNamespaceSyntax } } })
{
// new System.Security.Cryptography.SHA1Managed().ComputeHash(buffer)
// .ComputeHash(buffer) InvocationExpressionSyntax, MemberAccessExpressionSyntax
// new System.Security.Cryptography.SHA1Managed() ObjectCreationExpressionSyntax
ns = qualifiedNamespaceSyntax.ToFullString();
}


return ns;
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,7 @@ protected SyntaxTriviaList AddRangeIfInteresting(SyntaxTriviaList triviaList, Sy
}

protected abstract bool IsInterestingTrivia(SyntaxTriviaList triviaList);
protected abstract SyntaxNode GetHashDataSyntaxNode(PreferHashDataOverComputeHashAnalyzer.ComputeType computeType, string hashTypeName, SyntaxNode computeHashNode);
protected abstract SyntaxNode GetHashDataSyntaxNode(PreferHashDataOverComputeHashAnalyzer.ComputeType computeType, string? namespacePrefix, string hashTypeName, SyntaxNode computeHashNode);
protected abstract SyntaxNode FixHashCreateNode(SyntaxNode root, SyntaxNode createNode);
protected abstract string? GetQualifiedPrefixNamespaces(SyntaxNode computeHashNode, SyntaxNode? createNode);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,11 @@ Namespace Microsoft.NetCore.VisualBasic.Analyzers.Performance
End Function)
End Function

Protected Overrides Function GetHashDataSyntaxNode(computeType As PreferHashDataOverComputeHashAnalyzer.ComputeType, hashTypeName As String, computeHashNode As SyntaxNode) As SyntaxNode
Protected Overrides Function GetHashDataSyntaxNode(computeType As PreferHashDataOverComputeHashAnalyzer.ComputeType, namespacePrefix As String, hashTypeName As String, computeHashNode As SyntaxNode) As SyntaxNode
Dim identifier = hashTypeName
If namespacePrefix IsNot Nothing Then
identifier = namespacePrefix + "." + identifier
End If
Dim argumentList = DirectCast(computeHashNode, InvocationExpressionSyntax).ArgumentList
Select Case computeType
Case PreferHashDataOverComputeHashAnalyzer.ComputeType.ComputeHash
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.