Skip to content

Commit

Permalink
Merge pull request #11651 from dpen2000/ClassifyingIssueInXmlDocs
Browse files Browse the repository at this point in the history
Fixes #633 - Constructor names were classifying as types within xml docs
  • Loading branch information
balajikris committed Jul 27, 2016
2 parents 6d920ca + 76e9df6 commit 1bd293c
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 1 deletion.
Expand Up @@ -1477,5 +1477,52 @@ public async Task Tuples()
TestOptions.Regular,
Options.Script);
}

[WorkItem(633, "https://github.com/dotnet/roslyn/issues/633")]
[WpfFact, Trait(Traits.Feature, Traits.Features.Classification)]
public async Task InXmlDocCref_WhenTypeOnlyIsSpecified_ItIsClassified()
{
await TestAsync(@"
/// <summary>
/// <see cref=""MyClass""/>
/// </summary>
class MyClass
{
public MyClass(int x) { }
}
",
Class("MyClass"));
}

[WorkItem(633, "https://github.com/dotnet/roslyn/issues/633")]
[WpfFact, Trait(Traits.Feature, Traits.Features.Classification)]
public async Task InXmlDocCref_WhenConstructorOnlyIsSpecified_NothingIsClassified()
{
await TestAsync(@"
/// <summary>
/// <see cref=""MyClass(int)""/>
/// </summary>
class MyClass
{
public MyClass(int x) { }
}
");
}

[WorkItem(633, "https://github.com/dotnet/roslyn/issues/633")]
[WpfFact, Trait(Traits.Feature, Traits.Features.Classification)]
public async Task InXmlDocCref_WhenTypeAndConstructorSpecified_OnlyTypeIsClassified()
{
await TestAsync(@"
/// <summary>
/// <see cref=""MyClass.MyClass(int)""/>
/// </summary>
class MyClass
{
public MyClass(int x) { }
}
",
Class("MyClass"));
}
}
}
Expand Up @@ -680,5 +680,60 @@ public async Task InterfacePropertyWithSameNameShouldBePreferredToType()
Punctuation.Semicolon,
Punctuation.CloseCurly);
}

[WorkItem(633, "https://github.com/dotnet/roslyn/issues/633")]
[WpfFact, Trait(Traits.Feature, Traits.Features.Classification)]
public async Task XmlDocCref()
{
await TestAsync(@"
/// <summary>
/// <see cref=""MyClass.MyClass(int)""/>
/// </summary>
class MyClass
{
public MyClass(int x) { }
}
",
XmlDoc.Delimiter("///"),
XmlDoc.Text(" "),
XmlDoc.Delimiter("<"),
XmlDoc.Name("summary"),
XmlDoc.Delimiter(">"),
XmlDoc.Delimiter("///"),
XmlDoc.Text(" "),
XmlDoc.Delimiter("<"),
XmlDoc.Name("see"),
XmlDoc.AttributeName(" "),
XmlDoc.AttributeName("cref"),
XmlDoc.Delimiter("="),
XmlDoc.AttributeQuotes("\""),
Class("MyClass"),
Operators.Dot,
Identifier("MyClass"),
Punctuation.OpenParen,
Keyword("int"),
Punctuation.CloseParen,
XmlDoc.AttributeQuotes("\""),
XmlDoc.Delimiter("/>"),
XmlDoc.Delimiter("///"),
XmlDoc.Text(" "),
XmlDoc.Delimiter("</"),
XmlDoc.Name("summary"),
XmlDoc.Delimiter(">"),
Keyword("class"),
Class("MyClass"),
Punctuation.OpenCurly,
Keyword("public"),
Identifier("MyClass"),
Punctuation.OpenParen,
Keyword("int"),
Identifier("x"),
Punctuation.CloseParen,
Punctuation.OpenCurly,
Punctuation.CloseCurly,
Punctuation.CloseCurly

);
}
}
}
Expand Up @@ -138,7 +138,7 @@ private static bool IsNamespaceName(NameSyntax name)
{
symbol = (symbol as IAliasSymbol).Target;
}
else if (symbol.IsConstructor())
else if (symbol.IsConstructor() && name.IsParentKind(SyntaxKind.Attribute))
{
symbol = symbol.ContainingType;
}
Expand Down

0 comments on commit 1bd293c

Please sign in to comment.