CodeQL library for Java/Kotlin
codeql/java-all 7.7.3 (changelog, source)
Search

Class IsSpecificWindowsVariant

A guard that checks if the current OS is a specific Windows variant. When True, the OS is Windows. When False, the OS may still be Windows.

Import path

import semmle.code.java.os.OSCheck

Direct supertypes

Indirect supertypes

Known direct subtypes

    Inherited predicates

    appliesTypeTest

    Holds if this guard tests whether testedExpr has type testedType.

    from Guard
    controls

    Holds if this guard evaluating to branch controls the basic block bb. That is, execution of bb implies that this guard evaluated to branch.

    from Guard
    controlsBranchEdge

    Holds if this guard evaluating to branch controls the control-flow branch edge from bb1 to bb2. That is, following the edge from bb1 to bb2 implies that this guard evaluated to branch.

    from Guard
    directlyControls

    Holds if this guard evaluating to branch directly controls the basic block bb.

    from PreGuard
    directlyValueControls

    Holds if this guard evaluating to v directly controls the basic block bb.

    from PreGuard
    getAPrimaryQlClass

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

    from Top
    getBasicBlock

    Gets the basic block of this guard. For expressions, this is the basic block of the expression itself, and for switch cases, this is the basic block of the expression being compared against the cases.

    from PreGuard
    getEnclosingCallable

    Gets the immediately enclosing callable whose body contains this guard.

    from Guard
    getFile

    Gets the file associated with this element.

    from Top
    getLocation

    Gets the source location for this element.

    from Top
    getNumberOfCommentLines

    Gets the number of comment lines that this element ranges over.

    from Top
    getNumberOfLinesOfCode

    Gets the number of lines of code that this element ranges over.

    from Top
    getPrimaryQlClasses

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

    from Top
    getTotalNumberOfLines

    Gets the total number of lines that this element ranges over, including lines of code, comment and whitespace-only lines.

    from Top
    hasBranchEdge

    Holds if this guard is the last node in bb1 and that its successor is bb2 exactly when evaluating to branch.

    from PreGuard
    hasLocationInfo

    Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

    from Top
    hasValueBranchEdge

    Holds if this guard evaluating to v corresponds to taking the edge from bb1 to bb2. For ordinary conditional branching this guard is the last node in bb1, but for switch case matching it is the switch expression, which may either be in bb1 or an earlier basic block.

    from PreGuard
    isEquality

    Holds if this guard tests equality between e1 and e2 upon evaluating to eqval.

    from PreGuard
    toString

    Gets a textual representation of this element.

    from Top
    valueControls

    Holds if this guard evaluating to v controls the basic block bb. That is, execution of bb implies that this guard evaluated to v.

    from Guard
    valueControlsBranchEdge

    Holds if this guard evaluating to v controls the control-flow branch edge from bb1 to bb2. That is, following the edge from bb1 to bb2 implies that this guard evaluated to v.

    from Guard