本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax.GetLocation方法的典型用法代码示例。如果您正苦于以下问题:C# TypeSyntax.GetLocation方法的具体用法?C# TypeSyntax.GetLocation怎么用?C# TypeSyntax.GetLocation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax
的用法示例。
在下文中一共展示了TypeSyntax.GetLocation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleDeclaration
private static void HandleDeclaration(SyntaxNodeAnalysisContext context, TypeSyntax returnType)
{
var predefinedType = returnType as PredefinedTypeSyntax;
if (predefinedType != null && predefinedType.Keyword.IsKind(SyntaxKind.VoidKeyword))
{
// There is no return value
return;
}
var documentationStructure = context.Node.GetDocumentationCommentTriviaSyntax();
if (documentationStructure == null)
{
return;
}
if (documentationStructure.Content.GetFirstXmlElement(XmlCommentHelper.InheritdocXmlTag) != null)
{
// Don't report if the documentation is inherited.
return;
}
if (documentationStructure.Content.GetFirstXmlElement(XmlCommentHelper.ReturnsXmlTag) == null)
{
context.ReportDiagnostic(Diagnostic.Create(Descriptor, returnType.GetLocation()));
}
}
开发者ID:robinsedlaczek,项目名称:StyleCopAnalyzers,代码行数:28,代码来源:SA1615ElementReturnValueMustBeDocumented.cs
示例2: HandleDeclaration
private static void HandleDeclaration(SyntaxNodeAnalysisContext context, TypeSyntax returnType)
{
var predefinedType = returnType as PredefinedTypeSyntax;
if (predefinedType != null && predefinedType.Keyword.IsKind(SyntaxKind.VoidKeyword))
{
// There is no return value
return;
}
var documentationStructure = context.Node.GetDocumentationCommentTriviaSyntax();
if (documentationStructure == null)
{
return;
}
if (documentationStructure.Content.GetFirstXmlElement(XmlCommentHelper.InheritdocXmlTag) != null)
{
// Don't report if the documentation is inherited.
return;
}
var relevantXmlElement = documentationStructure.Content.GetFirstXmlElement(XmlCommentHelper.ReturnsXmlTag);
if (relevantXmlElement != null)
{
// A <returns> element was located.
return;
}
relevantXmlElement = documentationStructure.Content.GetFirstXmlElement(XmlCommentHelper.IncludeXmlTag);
if (relevantXmlElement != null)
{
var declaration = context.SemanticModel.GetDeclaredSymbol(context.Node, context.CancellationToken);
var rawDocumentation = declaration?.GetDocumentationCommentXml(expandIncludes: true, cancellationToken: context.CancellationToken);
XElement completeDocumentation = XElement.Parse(rawDocumentation, LoadOptions.None);
if (completeDocumentation.Nodes().OfType<XElement>().Any(element => element.Name == XmlCommentHelper.InheritdocXmlTag))
{
// Ignore nodes with an <inheritdoc/> tag in the included XML.
return;
}
if (completeDocumentation.Nodes().OfType<XElement>().Any(element => element.Name == XmlCommentHelper.ReturnsXmlTag))
{
// A <returns> element was located.
return;
}
}
context.ReportDiagnostic(Diagnostic.Create(Descriptor, returnType.GetLocation()));
}