abstract class SummarySolver[D, L <: Lattice] extends FlowSensitiveAnalysis with IDEAnalysis[D, L]
A tabulation solver, variant of IDESolver.
- D
the type of items
- L
the type of the value lattice
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- SummarySolver
- IDEAnalysis
- FlowSensitiveAnalysis
- Analysis
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new SummarySolver(cfg: InterproceduralProgramCfg)(implicit declData: DeclarationData)
Type Members
-
type
DL = Either[D, Lambda]
- Definition Classes
- IDEAnalysis
- class Phase1 extends WorklistFixpointPropagationSolver[CfgNode] with ForwardDependencies
- class Phase2 extends WorklistFixpointPropagationFunctions[CfgNode]
Abstract Value Members
-
abstract
val
edgelattice: EdgeFunctionLattice[valuelattice.type]
The edge lattice.
The edge lattice.
- Definition Classes
- IDEAnalysis
-
abstract
def
edgesCallToAfterCall(call: CfgCallNode, aftercall: CfgAfterCallNode)(d: DL): Map[DL, Element]
Edges for call-to-aftercall.
Edges for call-to-aftercall.
- Definition Classes
- IDEAnalysis
-
abstract
def
edgesCallToEntry(call: CfgCallNode, entry: CfgFunEntryNode)(d: DL): Map[DL, Element]
Edges for call-to-entry.
Edges for call-to-entry.
- Definition Classes
- IDEAnalysis
-
abstract
def
edgesExitToAfterCall(exit: CfgFunExitNode, aftercall: CfgAfterCallNode)(d: DL): Map[DL, Element]
Edges for exit-to-aftercall.
Edges for exit-to-aftercall.
- Definition Classes
- IDEAnalysis
-
abstract
def
edgesOther(n: CfgNode)(d: DL): Map[DL, Element]
Edges for other CFG nodes.
Edges for other CFG nodes.
- Definition Classes
- IDEAnalysis
-
abstract
val
valuelattice: L
The value lattice.
The value lattice.
- Definition Classes
- IDEAnalysis
Concrete 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
analyze(): Map[CfgNode, Map[D, L.Element]]
Performs the analysis and returns the result.
Performs the analysis and returns the result.
- Definition Classes
- SummarySolver → Analysis
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
cfg: InterproceduralProgramCfg
- Definition Classes
- SummarySolver → IDEAnalysis
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
-
val
stateAfterNode: Boolean
- Definition Classes
- FlowSensitiveAnalysis
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated