diff --git a/src/Workspaces/CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs b/src/Workspaces/CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs index 1357de751125faff84e6fe177bde40578bcf24b4..5f39d5923af2483e39148851407f72e7c32e5c62 100644 --- a/src/Workspaces/CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs +++ b/src/Workspaces/CSharp/Portable/Extensions/ExpressionSyntaxExtensions.cs @@ -1092,6 +1092,11 @@ private static bool PreferPredefinedTypeKeywordInMemberAccess(ExpressionSyntax e private static bool IsAliasReplaceableExpression(ExpressionSyntax expression) { + while (expression.IsKind(SyntaxKind.SimpleMemberAccessExpression, out MemberAccessExpressionSyntax currentMember)) + { + expression = currentMember.Expression; + } + if (expression.Kind() == SyntaxKind.IdentifierName || expression.Kind() == SyntaxKind.QualifiedName || expression.Kind() == SyntaxKind.AliasQualifiedName || @@ -1100,9 +1105,6 @@ private static bool IsAliasReplaceableExpression(ExpressionSyntax expression) return true; } - if (expression.IsKind(SyntaxKind.SimpleMemberAccessExpression, out MemberAccessExpressionSyntax memberAccess)) - return IsAliasReplaceableExpression(memberAccess.Expression); - return false; }