Skip to content

Commit f7ce287

Browse files
committed
Update dependencies.
1 parent 5a2e0e9 commit f7ce287

10 files changed

Lines changed: 17 additions & 21 deletions

IDisposableAnalyzers/Analyzers/DisposeMethodAnalyzer.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ private static void Handle(SyntaxNodeAnalysisContext context)
3333
context.ContainingSymbol is IMethodSymbol { IsStatic: false, ReturnsVoid: true, Name: "Dispose" } method &&
3434
context.Node is MethodDeclarationSyntax methodDeclaration)
3535
{
36-
if (method.Parameters.Length == 0 &&
37-
method.DeclaredAccessibility == Accessibility.Public &&
38-
method.OverriddenMethod == null &&
36+
if (method is { DeclaredAccessibility: Accessibility.Public, OverriddenMethod: null, Parameters: { Length: 0 } } &&
3937
method.GetAttributes().Length == 0)
4038
{
4139
if (!method.ExplicitInterfaceImplementations.Any() &&

IDisposableAnalyzers/Analyzers/ReturnValueAnalyzer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,13 @@ InvocationExpressionSyntax invocation
146146

147147
private static bool IsLazyEnumerable(InvocationExpressionSyntax invocation, SemanticModel semanticModel, CancellationToken cancellationToken)
148148
{
149-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
149+
using var recursion = Recursion.Borrow(invocation, semanticModel, cancellationToken);
150150
return IsLazyEnumerable(invocation, recursion);
151151
}
152152

153153
private static bool IsLazyEnumerable(InvocationExpressionSyntax invocation, Recursion recursion)
154154
{
155-
if (recursion.Target(invocation) is { Symbol: { } method, TargetNode: { } declaration } sad &&
155+
if (recursion.Target(invocation) is { Symbol: { } method, TargetNode: { } declaration } &&
156156
method.ReturnType.IsAssignableTo(KnownSymbol.IEnumerable, recursion.SemanticModel.Compilation))
157157
{
158158
if (YieldStatementWalker.Any(declaration))

IDisposableAnalyzers/Helpers/Walkers/DisposableWalker.Assigns.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ internal static bool Assigns(LocalOrParameter localOrParameter, SemanticModel se
1313
{
1414
if (localOrParameter.TryGetScope(cancellationToken, out var scope))
1515
{
16-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
16+
using var recursion = Recursion.Borrow(scope, semanticModel, cancellationToken);
1717
return Assigns(new Target<SyntaxNode, ISymbol, SyntaxNode>(null!, localOrParameter.Symbol, scope), recursion, out first);
1818
}
1919

IDisposableAnalyzers/Helpers/Walkers/DisposableWalker.DisposedByReturnValue.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace IDisposableAnalyzers
22
{
3-
using System;
43
using System.Diagnostics.CodeAnalysis;
54
using System.Threading;
65
using Gu.Roslyn.AnalyzerExtensions;
@@ -12,7 +11,7 @@ internal sealed partial class DisposableWalker
1211
{
1312
internal static bool DisposedByReturnValue(ArgumentSyntax candidate, SemanticModel semanticModel, CancellationToken cancellationToken, [NotNullWhen(true)] out ExpressionSyntax? creation)
1413
{
15-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
14+
using var recursion = Recursion.Borrow(candidate, semanticModel, cancellationToken);
1615
if (recursion.Target(candidate) is { } target)
1716
{
1817
return DisposedByReturnValue(target, recursion, out creation);

IDisposableAnalyzers/Helpers/Walkers/DisposableWalker.Disposes.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ internal static bool ShouldDispose(LocalOrParameter localOrParameter, SemanticMo
1616
return false;
1717
}
1818

19-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
19+
using var recursion = Recursion.Borrow(localOrParameter.Symbol.ContainingType, semanticModel, cancellationToken);
2020
using var walker = CreateUsagesWalker(localOrParameter, recursion);
2121
foreach (var usage in walker.usages)
2222
{
@@ -57,7 +57,7 @@ internal static bool DisposesAfter(ILocalSymbol local, ExpressionSyntax location
5757
return true;
5858
}
5959

60-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
60+
using var recursion = Recursion.Borrow(local.ContainingType, semanticModel, cancellationToken);
6161
using var walker = CreateUsagesWalker(new LocalOrParameter(local), recursion);
6262
foreach (var usage in walker.usages)
6363
{
@@ -73,7 +73,7 @@ internal static bool DisposesAfter(ILocalSymbol local, ExpressionSyntax location
7373

7474
internal static bool DisposesBefore(ILocalSymbol local, ExpressionSyntax location, SemanticModel semanticModel, CancellationToken cancellationToken)
7575
{
76-
using (var recursion = Recursion.Borrow(semanticModel, cancellationToken))
76+
using (var recursion = Recursion.Borrow(local.ContainingType, semanticModel, cancellationToken))
7777
{
7878
using var walker = CreateUsagesWalker(new LocalOrParameter(local), recursion);
7979
foreach (var usage in walker.usages)
@@ -102,7 +102,7 @@ when usingKeywod.IsKind(SyntaxKind.UsingKeyword):
102102
}
103103
}
104104

105-
using (var recursion = Recursion.Borrow(semanticModel, cancellationToken))
105+
using (var recursion = Recursion.Borrow(local.ContainingType, semanticModel, cancellationToken))
106106
{
107107
using var walker = CreateUsagesWalker(new LocalOrParameter(local), recursion);
108108
foreach (var usage in walker.usages)

IDisposableAnalyzers/Helpers/Walkers/DisposableWalker.Ignores.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace IDisposableAnalyzers
22
{
3-
using System;
43
using System.Linq;
54
using System.Threading;
65
using Gu.Roslyn.AnalyzerExtensions;
@@ -12,7 +11,7 @@ internal sealed partial class DisposableWalker
1211
{
1312
internal static bool Ignores(ExpressionSyntax node, SemanticModel semanticModel, CancellationToken cancellationToken)
1413
{
15-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
14+
using var recursion = Recursion.Borrow(node, semanticModel, cancellationToken);
1615
return Ignores(node, recursion);
1716
}
1817

IDisposableAnalyzers/Helpers/Walkers/DisposableWalker.Returns.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ internal sealed partial class DisposableWalker
1010
{
1111
internal static bool Returns(LocalOrParameter localOrParameter, SemanticModel semanticModel, CancellationToken cancellationToken)
1212
{
13-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
13+
using var recursion = Recursion.Borrow(localOrParameter.Symbol.ContainingType, semanticModel, cancellationToken);
1414
using var walker = CreateUsagesWalker(localOrParameter, recursion);
1515
foreach (var usage in walker.usages)
1616
{

IDisposableAnalyzers/Helpers/Walkers/DisposableWalker.Stores.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ internal sealed partial class DisposableWalker
1212
{
1313
internal static bool Stores(LocalOrParameter localOrParameter, SemanticModel semanticModel, CancellationToken cancellationToken, [NotNullWhen(true)] out ISymbol? container)
1414
{
15-
using var recursion = Recursion.Borrow(semanticModel, cancellationToken);
15+
using var recursion = Recursion.Borrow(localOrParameter.Symbol.ContainingType, semanticModel, cancellationToken);
1616
using var walker = CreateUsagesWalker(localOrParameter, recursion);
1717
foreach (var usage in walker.usages)
1818
{

IDisposableAnalyzers/Helpers/Walkers/FinalizerContextWalker.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public override void VisitIdentifierName(IdentifierNameSyntax node)
4848

4949
internal static FinalizerContextWalker Borrow(BaseMethodDeclarationSyntax node, SemanticModel semanticModel, CancellationToken cancellationToken)
5050
{
51-
var walker = BorrowAndVisit(node, SearchScope.Member, semanticModel, cancellationToken, () => new FinalizerContextWalker());
51+
var walker = BorrowAndVisit(node, SearchScope.Recursive, semanticModel, cancellationToken, () => new FinalizerContextWalker());
5252
if (node is MethodDeclarationSyntax)
5353
{
5454
walker.usedReferenceTypes.RemoveAll(x => IsInIfDisposing(x));
@@ -58,7 +58,7 @@ internal static FinalizerContextWalker Borrow(BaseMethodDeclarationSyntax node,
5858
{
5959
if (!IsInIfDisposing(target.Source))
6060
{
61-
using var recursiveWalker = TargetWalker.Borrow(target, walker.ContainingType, walker.Recursion);
61+
using var recursiveWalker = TargetWalker.Borrow(target, walker.Recursion);
6262
if (recursiveWalker.UsedReferenceTypes.Count > 0)
6363
{
6464
walker.usedReferenceTypes.Add(target.Source);
@@ -134,9 +134,9 @@ public override void VisitIdentifierName(IdentifierNameSyntax node)
134134
base.VisitIdentifierName(node);
135135
}
136136

137-
internal static TargetWalker Borrow(Target<SyntaxNode, ISymbol, SyntaxNode> target, INamedTypeSymbol containingType, Recursion recursion)
137+
internal static TargetWalker Borrow(Target<SyntaxNode, ISymbol, SyntaxNode> target, Recursion recursion)
138138
{
139-
return BorrowAndVisit(target.TargetNode!, SearchScope.Recursive, containingType, recursion, () => new TargetWalker());
139+
return BorrowAndVisit(target.TargetNode!, SearchScope.Recursive, recursion, () => new TargetWalker());
140140
}
141141

142142
protected override void Clear()

IDisposableAnalyzers/IDisposableAnalyzers.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ BUGFIX IDISP023: when disposing members.</Description>
4545

4646
<ItemGroup>
4747
<PackageReference Include="Gu.Analyzers" Version="1.6.6.2-dev" PrivateAssets="all" />
48-
<PackageReference Include="Gu.Roslyn.Extensions" Version="0.11.0-dev" />
48+
<PackageReference Include="Gu.Roslyn.Extensions" Version="0.12.1-dev" />
4949
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="3.3.1" />
5050
<!--<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" PrivateAssets="all" />-->
5151
<PackageDownload Include="Microsoft.NETCore.App.Ref" Version="[$(AnnotatedReferenceAssemblyVersion)]" />

0 commit comments

Comments
 (0)