本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.IdentifierNameSyntax.GetTrailingTrivia方法的典型用法代码示例。如果您正苦于以下问题:C# IdentifierNameSyntax.GetTrailingTrivia方法的具体用法?C# IdentifierNameSyntax.GetTrailingTrivia怎么用?C# IdentifierNameSyntax.GetTrailingTrivia使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.IdentifierNameSyntax
的用法示例。
在下文中一共展示了IdentifierNameSyntax.GetTrailingTrivia方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplyReplacement
private async Task<Document> ApplyReplacement(Document document, IdentifierNameSyntax node, CancellationToken cancellationToken, string replaceWithName, string namespaceUsed) {
IdentifierNameSyntax newNode = SyntaxFactory.IdentifierName(replaceWithName)
.WithLeadingTrivia(node.GetLeadingTrivia())
.WithTrailingTrivia(node.GetTrailingTrivia());
var oldNode = node.Parent.Kind() == SyntaxKind.SimpleMemberAccessExpression ? node.Parent : node;
document = await this.ReplaceNodeInDocumentAsync(document, cancellationToken, oldNode, newNode);
return await this.CheckNamespaceUsageAsync(document, cancellationToken, namespaceUsed);
}
开发者ID:vuder,项目名称:CodingStandardCodeAnalyzers,代码行数:9,代码来源:DateTimeClassUsageCodeAnalyzerCodeFixProvider.cs
示例2: UseTypeExplicit
private async Task<Solution> UseTypeExplicit(Document document, IdentifierNameSyntax identifierName, TypeInfo typeInfo, CancellationToken cancellationToken)
{
var root = await document.GetSyntaxRootAsync();
var newIdentifierName =
SyntaxFactory.ParseTypeName(typeInfo.ConvertedType.ToString())
.WithAdditionalAnnotations(Simplifier.Annotation)
.WithLeadingTrivia(identifierName.GetLeadingTrivia())
.WithTrailingTrivia(identifierName.GetTrailingTrivia());
var newDocument = document.WithSyntaxRoot(root.ReplaceNode(identifierName, newIdentifierName));
return newDocument.Project.Solution;
}
示例3: PadMemberAccess
private static IdentifierNameSyntax PadMemberAccess(
SimpleLambdaExpressionSyntax node,
IdentifierNameSyntax memberAccess)
{
// We want to make the new span
var originalSpan = node.GetLocation().GetMappedLineSpan();
// Start by collecting all the trivia 'inside' the expression - we need to tack that on the end, but
// if it ends with a newline, don't include that.
var innerTrivia = SyntaxFactory.TriviaList(node.DescendantTrivia(descendIntoChildren: n => true));
if (innerTrivia.Count > 0 && innerTrivia[innerTrivia.Count - 1].IsKind(SyntaxKind.EndOfLineTrivia))
{
innerTrivia = innerTrivia.RemoveAt(innerTrivia.Count - 1);
}
memberAccess = memberAccess.WithTrailingTrivia(innerTrivia);
// If everything is all on one line, then make sure the spans are the same, to compensate
// for the expression potentially being longer than the variable name.
var lineSpan = originalSpan.EndLinePosition.Line - originalSpan.StartLinePosition.Line;
if (lineSpan == 0)
{
var padding = node.Span.Length - memberAccess.FullSpan.Length;
var trailingTrivia =
SyntaxFactory.TriviaList(memberAccess.GetTrailingTrivia())
.Add(SyntaxFactory.Whitespace(new string(' ', padding)))
.AddRange(node.GetTrailingTrivia());
return
memberAccess
.WithLeadingTrivia(node.GetLeadingTrivia())
.WithTrailingTrivia(trailingTrivia);
}
else
{
// If everything isn't on the same line, we need to pad out the last line.
var padding =
originalSpan.EndLinePosition.Character -
originalSpan.StartLinePosition.Character;
var trailingTrivia =
SyntaxFactory.TriviaList(memberAccess.GetTrailingTrivia())
.Add(SyntaxFactory.Whitespace(new string(' ', padding)))
.AddRange(node.GetTrailingTrivia());
return
memberAccess
.WithLeadingTrivia(node.GetLeadingTrivia())
.WithTrailingTrivia(trailingTrivia);
}
}