Search in sources :

Example 1 with PyReachingDefsSemilattice

use of com.jetbrains.python.codeInsight.dataflow.PyReachingDefsSemilattice in project intellij-community by JetBrains.

the class ScopeImpl method computeScopeVariables.

private synchronized void computeScopeVariables() throws DFALimitExceededException {
    computeFlow();
    if (myCachedScopeVariables == null) {
        final PyReachingDefsDfaInstance dfaInstance = new PyReachingDefsDfaInstance();
        final PyReachingDefsSemilattice semilattice = new PyReachingDefsSemilattice();
        final DFAMapEngine<ScopeVariable> engine = new DFAMapEngine<>(myFlow, dfaInstance, semilattice);
        myCachedScopeVariables = engine.performDFA();
    }
}
Also used : PyReachingDefsDfaInstance(com.jetbrains.python.codeInsight.dataflow.PyReachingDefsDfaInstance) DFAMapEngine(com.intellij.codeInsight.dataflow.map.DFAMapEngine) ScopeVariable(com.jetbrains.python.codeInsight.dataflow.scope.ScopeVariable) PyReachingDefsSemilattice(com.jetbrains.python.codeInsight.dataflow.PyReachingDefsSemilattice)

Aggregations

DFAMapEngine (com.intellij.codeInsight.dataflow.map.DFAMapEngine)1 PyReachingDefsDfaInstance (com.jetbrains.python.codeInsight.dataflow.PyReachingDefsDfaInstance)1 PyReachingDefsSemilattice (com.jetbrains.python.codeInsight.dataflow.PyReachingDefsSemilattice)1 ScopeVariable (com.jetbrains.python.codeInsight.dataflow.scope.ScopeVariable)1