Extract undef directives

This commit is contained in:
Tamas Vajk
2021-01-19 17:22:51 +01:00
parent 9b405144ff
commit 3740aba4a8
7 changed files with 50 additions and 1 deletions

View File

@@ -0,0 +1,18 @@
using Microsoft.CodeAnalysis.CSharp.Syntax;
using System.IO;
namespace Semmle.Extraction.CSharp.Entities
{
internal class UndefineDirective : PreprocessorDirective<UndefDirectiveTriviaSyntax>
{
public UndefineDirective(Context cx, UndefDirectiveTriviaSyntax trivia)
: base(cx, trivia)
{
}
protected override void PopulatePreprocessor(TextWriter trapFile)
{
trapFile.directive_undefines(this, trivia.Name.ToString());
}
}
}

View File

@@ -27,5 +27,10 @@ namespace Semmle.Extraction.CSharp.Populators
{
new Entities.DefineDirective(cx, node);
}
public override void VisitUndefDirectiveTrivia(UndefDirectiveTriviaSyntax node)
{
new Entities.UndefineDirective(cx, node);
}
}
}

View File

@@ -625,5 +625,10 @@ namespace Semmle.Extraction.CSharp
{
trapFile.WriteTuple("directive_defines", directive, name);
}
internal static void directive_undefines(this TextWriter trapFile, UndefineDirective directive, string name)
{
trapFile.WriteTuple("directive_undefines", directive, name);
}
}
}