Reporter |
|
---|---|
Created | Apr 6, 2018 5:35:25 PM |
Updated | Apr 6, 2018 5:35:25 PM |
Subsystem | No Subsystem |
Assignee | Unassigned |
Priority | Normal |
State | Submitted |
Type | Unspecified |
Fix version | No Fix versions |
Affected versions | No Affected versions |
Fixed In Version ReSharper | Undefined |
VsVersion | All Versions |
Description
When an interface method only calls itself (cycle), it can be removed.Sample repro
[UsedImplicitly]
public interface IStuff
{
void OnlyCallsItself();
}
internal sealed class Foo : IStuff
{
private readonly IStuff wrapped;
public Foo(IStuff wrapped)
{
this.wrapped = wrapped;
}
public void OnlyCallsItself()
{
wrapped.OnlyCallsItself();
}
}
[UsedImplicitly(ImplicitUseTargetFlags.WithMembers)]
public sealed class FooBuilder
{
internal Foo Create(IStuff stuff)
{
return new Foo(stuff);
}
}
Expected result
Method OnlyCallsItself only calls itself and it can be removed.Actual result
Nothing.But I can safely remove all OnlyCallsItself methods.