public void UseSyntaxWalker()
{
var tree = SyntaxTree.ParseText(@"
class Program
{
public static void Main()
{
#if true
#endif
var b = true;
if (b) { }
if (!b) { }
}
}
struct S
{
}");
var walker = new IfStatementIfKeywordAndTypeDeclarationWalker();
walker.Visit(tree.GetRoot());
Assert.AreEqual(@"
Visiting ClassDeclarationSyntax (Kind = ClassDeclaration)
Visiting SyntaxToken (Kind = IfKeyword): #if true
Visiting IfStatementSyntax (Kind = IfStatement): if (b) { }
Visiting SyntaxToken (Kind = IfKeyword): if (b) { }
Visiting IfStatementSyntax (Kind = IfStatement): if (!b) { }
Visiting SyntaxToken (Kind = IfKeyword): if (!b) { }
Visiting StructDeclarationSyntax (Kind = StructDeclaration)", walker.Results.ToString());
}