class LiveVarsAnalysisWorklistSolver extends LiveVarsAnalysis with SimpleWorklistFixpointSolver[CfgNode] with BackwardDependencies
Live variables analysis that uses the worklist solver.
- Alphabetic
 - By Inheritance
 
- LiveVarsAnalysisWorklistSolver
 - BackwardDependencies
 - SimpleWorklistFixpointSolver
 - WorklistFixpointSolver
 - ListSetWorklist
 - Worklist
 - MapLatticeSolver
 - Dependencies
 - LatticeSolver
 - LiveVarsAnalysis
 - FlowSensitiveAnalysis
 - Analysis
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - All
 
Instance Constructors
-  new LiveVarsAnalysisWorklistSolver(cfg: IntraproceduralProgramCfg)(implicit declData: DeclarationData)
 
Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        add(ns: Set[CfgNode]): Unit
      
      
      
Adds a set of items to the worklist.
Adds a set of items to the worklist.
- Definition Classes
 - ListSetWorklist → Worklist
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        add(n: CfgNode): Unit
      
      
      
Adds an item to the worklist.
Adds an item to the worklist.
- Definition Classes
 - ListSetWorklist → Worklist
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        analyze(): Element
      
      
      
The analyze function.
The analyze function.
- Definition Classes
 - SimpleWorklistFixpointSolver → LatticeSolver
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... ) @native() @IntrinsicCandidate()
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        domain: Set[CfgNode]
      
      
      
- Definition Classes
 - LiveVarsAnalysis
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        funsub(n: CfgNode, x: Element): Element
      
      
      
The constraint function for individual elements in the map domain.
The constraint function for individual elements in the map domain. First computes the join of the incoming elements and then applies the transfer function.
- n
 the current location in the map domain
- x
 the current lattice element for all locations
- returns
 the output sublattice element
- Definition Classes
 - MapLatticeSolver
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native() @IntrinsicCandidate()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native() @IntrinsicCandidate()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        indep(n: CfgNode): Set[CfgNode]
      
      
      
Incoming dependencies.
Incoming dependencies. Used when computing the join from predecessors.
- n
 an element from the worklist
- returns
 the elements that the given element depends on
- Definition Classes
 - BackwardDependencies → Dependencies
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        join(n: CfgNode, o: Element): Element
      
      
      
Computes the least upper bound of the incoming elements.
Computes the least upper bound of the incoming elements.
- Definition Classes
 - MapLatticeSolver
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        lattice: MapLattice[CfgNode, PowersetLattice[ADeclaration]]
      
      
      
- Definition Classes
 - LiveVarsAnalysis
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native() @IntrinsicCandidate()
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native() @IntrinsicCandidate()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        outdep(n: CfgNode): Set[CfgNode]
      
      
      
Outgoing dependencies.
Outgoing dependencies. Used when propagating dataflow to successors.
- n
 an element from the worklist
- returns
 the elements that depend on the given element
- Definition Classes
 - BackwardDependencies → Dependencies
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        process(n: CfgNode): Unit
      
      
      
Called by run to process an item from the worklist.
Called by run to process an item from the worklist.
- Definition Classes
 - WorklistFixpointSolver → Worklist
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        run(first: Set[CfgNode]): Unit
      
      
      
Iterates until there is no more work to do.
Iterates until there is no more work to do.
- first
 the initial contents of the worklist
- Definition Classes
 - ListSetWorklist → Worklist
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        stateAfterNode: Boolean
      
      
      
- Definition Classes
 - FlowSensitiveAnalysis
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        transfer(n: CfgNode, s: Element): Element
      
      
      
- Definition Classes
 - LiveVarsAnalysis
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... ) @native()
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        x: Element
      
      
      
The current lattice element.
The current lattice element.
- Definition Classes
 - WorklistFixpointSolver
 
 
Deprecated Value Members
- 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws( classOf[java.lang.Throwable] ) @Deprecated
 - Deprecated