CodeQL library for C#
Search

Class IfDirective

An #if preprocessor directive.

Import path

import csharp

Direct supertypes

Indirect supertypes

Predicates

branchTaken

Holds if the branch is taken by the preprocessor.

conditionMatched

Holds if the condition is matched.

getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

getASiblingDirective

Gets a sibling #elif or #else preprocessor directive.

getEndifDirective

Gets the closing #endif preprocessor directive.

getSiblingDirective

Gets the sibling #elif or #else preprocessor directive at index sibling.

toString

Gets a textual representation of this element.

Inherited predicates

fromLibrary

Holds if this element is from an assembly.

from Element
fromSource

Holds if this element is from source code.

from Element
getAChild

Gets a child of this element, if any.

from Element
getALocation

Gets a location of this element, including sources and assemblies.

from PreprocessorDirective
getChild

Gets the ith child of this element (zero-based).

from Element
getCompilation

Gets the compilation this directive belongs to, if any.

from PreprocessorDirective
getCondition

Gets the condition.

from ConditionalDirective
getFile

Gets the file containing this element.

from Element
getIndex

Gets the index of this element among its parent’s other children (zero-based).

from Element
getLanguage

Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”.

from Element
getLocation

Gets the location of this element. Where an element has locations in source and assemblies, choose the source location. If there are multiple assembly locations, choose only one.

from Element
getNumberOfChildren

Gets the number of children of this element.

from Element
getParent

Gets the parent of this element, if any.

from Element
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
isActive

Holds if this directive is processed by the preprocessor, such as any directive that is not inside a not taken BranchDirective.

from PreprocessorDirective
toStringWithTypes

Gets the full textual representation of this element, including type information.

from Element