提交 03662f3a 编写于 作者: V Victor Zaytsev

Fixed review notes.

上级 6238c016
......@@ -3972,9 +3972,9 @@ private static void TakesParams(params object[] foo)
[WorkItem(18510, "https://github.com/dotnet/roslyn/issues/18510")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsRemoveUnnecessaryCast)]
public async Task DontRemoveCastOnNegatingEnumValue()
public async Task DontRemoveCastOnNegatingEnumValue1()
{
await TestInRegularAndScriptAsync(
await TestMissingInRegularAndScriptAsync(
@"
enum Sign
{
......@@ -3987,9 +3987,16 @@ class T
void Foo()
{
Sign mySign = Sign.Positive;
Sign invertedSign = (Sign) ( |-(int) mySign| );
Sign invertedSign = (Sign) ( [|-(int) mySign|] );
}
}",
}");
}
[WorkItem(18510, "https://github.com/dotnet/roslyn/issues/18510")]
[Fact, Trait(Traits.Feature, Traits.Features.CodeActionsRemoveUnnecessaryCast)]
public async Task DontRemoveCastOnNegatingEnumValue2()
{
await TestMissingInRegularAndScriptAsync(
@"
enum Sign
{
......@@ -4002,7 +4009,7 @@ class T
void Foo()
{
Sign mySign = Sign.Positive;
Sign invertedSign = (Sign) ( -(int) mySign );
Sign invertedSign = (Sign) ( [|+(int) mySign|] );
}
}");
}
......
......@@ -312,10 +312,9 @@ public static bool IsUnnecessaryCast(this CastExpressionSyntax cast, SemanticMod
var expressionTypeInfo = semanticModel.GetTypeInfo(cast.Expression, cancellationToken);
var expressionType = expressionTypeInfo.Type;
if (expressionType != null &&
expressionType.IsEnumType()
&& cast?.Parent is PrefixUnaryExpressionSyntax prefixUnaryExpression
&& prefixUnaryExpression.Kind() == SyntaxKind.UnaryMinusE xpression)
if (expressionType != null
&& expressionType.IsEnumType()
&& (cast.IsParentKind(SyntaxKind.UnaryMinusExpression) || cast.IsParentKind(SyntaxKind.UnaryPlusExpression)))
{
return false;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册