提交 3646adf0 编写于 作者: C Cyrus Najmabadi

Simplify Color Color case properly in crefs

上级 6dd004a5
......@@ -1788,8 +1788,15 @@ private static int GetNamespaceId(SyntaxList<MemberDeclarationSyntax> members, N
NameSyntax name, TypeSyntax replacement,
SemanticModel semanticModel, CancellationToken cancellationToken)
{
if (!InsideCrefReference(name))
return false;
if (name.Parent is QualifiedCrefSyntax qualifiedCrefParent && qualifiedCrefParent.Container == name)
{
// we have <see cref="A.B.C.D"/> and we're trying to see if we can replace
// A.B.C with C. In this case the parent of A.B.C is A.B.C.D which is a
// QualifiedCrefSyntax
var qualifiedReplacement = SyntaxFactory.QualifiedCref(replacement, qualifiedCrefParent.Member);
if (qualifiedCrefParent.TryReduceOrSimplifyQualifiedCref(
semanticModel, qualifiedReplacement, out _, out _, cancellationToken))
......@@ -1797,6 +1804,16 @@ private static int GetNamespaceId(SyntaxList<MemberDeclarationSyntax> members, N
return true;
}
}
else if (name.Parent is QualifiedNameSyntax qualifiedParent && qualifiedParent.Left == name &&
replacement is NameSyntax replacementName)
{
// we have <see cref="A.B.C.D"/> and we're trying to see if we can replace
// A.B with B. In this case the parent of A.B is A.B.C which is a
// QualifiedNameSyntax
var qualifiedReplacement = SyntaxFactory.QualifiedName(replacementName, qualifiedParent.Right);
return qualifiedParent.CanReplaceWithReducedName(qualifiedReplacement, semanticModel, cancellationToken);
}
return false;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册