CodeQL library for Swift
codeql/swift-all 6.5.0 (changelog, source)
Search

Class RegexEval

A call that evaluates a regular expression. For example, the call to firstMatch in:

Regex("(a|b).*").firstMatch(in: myString)

Import path

import codeql.swift.regex.Regex

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    getAParseMode

    Gets a parse mode that is set at this evaluation (in at least one path from the creation of the regular expression object).

    getARegex

    Gets a regular expression value that is evaluated here (if any can be identified).

    getAnOptionsInput

    Gets a dataflow node for an options input that might contain options such as parse mode flags (if any).

    getRegexInputNode

    Gets the input to this call that is the regular expression being evaluated. This may be a regular expression object or a string literal.

    getStringInputNode

    Gets the input to this call that is the string the regular expression is evaluated on.

    isUsedAsReplace

    Holds if this regular expression evaluation is a ‘replacement’ operation, such as replacing all matches of the regular expression in the input string with another string.

    Inherited predicates

    convertsFromfrom Expr
    getAPrimaryQlClass

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

    from CallExpr
    getAnArgument

    Gets any of the arguments passed to the applied function.

    from ApplyExpr
    getArgument

    Gets the indexth argument passed to the applied function (0-based).

    from ApplyExpr
    getArgumentWithLabel

    Gets the argument of this ApplyExpr called label (if any).

    from ApplyExpr
    getConversionfrom Expr
    getConversionfrom Expr
    getEnclosingCallable

    Gets the nearest Callable that contains this AST node, if any. This includes (auto)closures, functions, methods, (de)initializers, and accessors.

    from AstNode
    getEnclosingDecl

    Gets the nearest declaration that contains this AST node, if any.

    from AstNode
    getEnclosingFunction

    Gets the nearest function definition that contains this AST node, if any. This includes functions, methods, (de)initializers, and accessors, but not closures.

    from AstNode
    getFile

    Gets the primary file where this element occurs.

    from Locatable
    getFullyConvertedfrom Expr
    getFullyUnresolvedfrom Element
    getFunction

    Gets the function being applied.

    from ApplyExpr
    getImmediateFunction

    Gets the function being applied.

    from ApplyExpr
    getImmediateType

    Gets the type of this expression, if it exists.

    from Expr
    getLocation

    Gets the location associated with this element in the code, if it exists.

    from Locatable
    getNumberOfArguments

    Gets the number of arguments passed to the applied function.

    from ApplyExpr
    getPrimaryQlClasses

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

    from Element
    getQualifier

    Gets the method qualifier, if this is applying a method

    from ApplyExpr
    getResolveStep

    Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses.

    from Expr
    getStaticTargetfrom ApplyExpr
    getType

    Gets the type of this expression, if it exists.

    from Expr
    getUnconvertedfrom Expr
    hasConversionsfrom Expr
    hasLocation

    Holds if getLocation() exists.

    from Locatable
    hasType

    Holds if getType() exists.

    from Expr
    isConversionfrom Expr
    isUnknown

    Holds if this element is unknown.

    from Element
    resolve

    Gets the element that should substitute this element in the explicit AST, applying getResolveStep transitively.

    from Element
    toString

    Gets the string representation of this element.

    from Element
    toStringImpl

    INTERNAL: Do not use.

    from ApplyExpr