mirror of
https://github.com/github/codeql.git
synced 2026-04-27 17:55:19 +02:00
Extract undef directives
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user