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

Class Make :: StateTuple

A state (q1, q2, q3) in the product automaton, that is reachable from (pivot, pivot, pumpEnd).

We lazily only construct those states that we are actually going to need. Either a start state (pivot, pivot, pumpEnd), or a state where there exists a transition from an already existing state.

The exponential variant of this query (js/redos) uses an optimization trick where q1 <= q2. This trick cannot be used here as the order of the elements matter.

Import path

import codeql.regex.nfa.SuperlinearBackTracking

Direct supertypes

Fields

Predicates

getFirst

Gets the first state of the tuple.

getPivot

Gets the pivot state.

getPumpEnd

Gets the pumpEnd state.

getSecond

Gets the second state of the tuple.

getThird

Gets the third state of the tuple.

hasLocationInfo

Holds if the pivot state has the specified location. This location has been chosen arbitrarily, and is only useful for debugging.

isTuple

Holds if this tuple is (r1, r2, r3).

toString

Gest a string representation of this tuple.

Charpred