Roslyn和错误信息

本文关键字:信息 错误 Roslyn | 更新日期: 2023-09-27 17:53:48

我正在从我自己的DSL中构建Roslyn语法树。我想用关于原始文件和数据来自的行的信息注释树,然后在验证树时获得潜在的错误。

如何注释语法树?

Roslyn和错误信息

注释你的树?我不认为你可以直接向树中添加元数据……给它添加注释怎么样?

var tree = SyntaxTree.ParseText(@"namespace Foo
{
    public class Bar
    {
        public string Biz()
        {
            return ""Baz"";
        }
    }
}");
var annotatedTree = SyntaxTree.Create(tree.GetRoot()
    .WithLeadingTrivia(
        Syntax.Comment(String.Format("// source: scratch")),
        Syntax.Comment(String.Format("// date: {0}", DateTime.Now))
    )
    .NormalizeWhitespace()
);