Package org.sonar.python.cfg.fixpoint
Class ForwardAnalysis
- java.lang.Object
-
- org.sonar.python.cfg.fixpoint.ForwardAnalysis
-
public abstract class ForwardAnalysis extends Object
Data flow analysis operating on the CFG. The analysis starts at the entry node and moves forwards in the CFG. See https://en.wikipedia.org/wiki/Data-flow_analysis#Forward_analysis See https://lara.epfl.ch/w/_media/sav08:schwartzbach.pdf (chapter "Forwards, Backwards, May, and Must")
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classForwardAnalysis.ProgramStateAtBlock
-
Field Summary
Fields Modifier and Type Field Description protected Map<CfgBlock,ForwardAnalysis.ProgramStateAtBlock>programStateByBlock
-
Constructor Summary
Constructors Constructor Description ForwardAnalysis()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcompute(ControlFlowGraph cfg)abstract ProgramStateinitialState()abstract voidupdateProgramState(Tree element, ProgramState programState)
-
-
-
Field Detail
-
programStateByBlock
protected final Map<CfgBlock,ForwardAnalysis.ProgramStateAtBlock> programStateByBlock
-
-
Method Detail
-
compute
public void compute(ControlFlowGraph cfg)
-
initialState
public abstract ProgramState initialState()
-
updateProgramState
public abstract void updateProgramState(Tree element, ProgramState programState)
-
-