dotnet/roslyn
Code fix for IDE0059 "Remove unnecessary assignment" removes empty lines or reorders code
Ouverte
#45 421 ouverte le 24 juin 2020
Area-IDEBugFeature - IDE0059help wanted
Métriques du dépôt
- Stars
- (20 414 étoiles)
- Métriques de merge PR
- (Merge moyen 6j 17h) (256 PRs mergées en 30 j)
Description
Version Used: 16.6.2
Steps to Reproduce:
public class Test
{
public long M(bool flag)
{
long a = 0; // IDE0059
long b = 0; // IDE0059
long c = 0; // IDE0059
if (flag)
{
a = 1;
b = 1;
c = 1;
}
else
{
a = 2;
b = 2;
c = 2;
}
return a + b + c;
}
}
- Run "Remove unnecessary assignment" for
c - Run "Remove unnecessary assignment" for
b
Expected Behavior:
In both steps, the = 0 characters should be removed
long a = 0; // IDE0059
- long b = 0; // IDE0059
- long c = 0; // IDE0059
+ long b; // IDE0059
+ long c; // IDE0059
if (flag)
Actual Behavior:
After running "Remove unnecessary assignment" for c, the empty line below the declaration and the comment is also removed:
long a = 0; // IDE0059
long b = 0; // IDE0059
- long c = 0; // IDE0059
-
+ long c;
if (flag)
After then running "Remove unnecessary assignment" for b , the b and c declarations are reordered and the comment is removed:
long a = 0; // IDE0059
- long b = 0; // IDE0059
- long c = 0; // IDE0059
-
+ long c;
+ long b;
if (flag)