Files
codeql/csharp/extractor/Semmle.Extraction.CSharp/Entities/PreprocessorDirectives/IfDirective.cs
2021-02-04 08:42:39 +01:00

23 lines
639 B
C#

using Microsoft.CodeAnalysis.CSharp.Syntax;
using System.IO;
namespace Semmle.Extraction.CSharp.Entities
{
internal class IfDirective : PreprocessorDirective<IfDirectiveTriviaSyntax>, IExpressionParentEntity
{
public IfDirective(Context cx, IfDirectiveTriviaSyntax trivia)
: base(cx, trivia)
{
}
public bool IsTopLevelParent => true;
protected override void PopulatePreprocessor(TextWriter trapFile)
{
trapFile.directive_ifs(this, trivia.BranchTaken, trivia.ConditionValue);
Expression.Create(cx, trivia.Condition, this, 0);
}
}
}