Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConstantPropagationAnalysis ¶
type ConstantPropagationAnalysis struct { scalar.BaseFlowAnalysis // contains filtered or unexported fields }
ConstantPropagationAnalysis represents a constant propagtion analysis
func New ¶
func New(g *graph.UnitGraph) *ConstantPropagationAnalysis
New creates a ConstantPropagationAnalysis
func (*ConstantPropagationAnalysis) End ¶
func (a *ConstantPropagationAnalysis) End(universe []*entry.Entry)
End handle result of analysis
func (*ConstantPropagationAnalysis) FlowThrougth ¶
func (a *ConstantPropagationAnalysis) FlowThrougth(inMap *map[any]any, unit ssa.Instruction, outMap *map[any]any)
FlowThrougth calculate outMap based on inMap and unit
func (*ConstantPropagationAnalysis) NewInitalFlow ¶
func (a *ConstantPropagationAnalysis) NewInitalFlow() *map[any]any
NewInitalFlow returns a new flow
type ConstantPropagationSwitcher ¶
type ConstantPropagationSwitcher struct { switcher.BaseSwitcher // contains filtered or unexported fields }
ConstantPropagationSwitcher represents a constant propagtion switcher
func (*ConstantPropagationSwitcher) CaseBinOp ¶
func (s *ConstantPropagationSwitcher) CaseBinOp(inst *ssa.BinOp)
CaseBinOp accepts a BinOp instruction
func (*ConstantPropagationSwitcher) CasePhi ¶
func (s *ConstantPropagationSwitcher) CasePhi(inst *ssa.Phi)
CasePhi accepts a Phi instruction
Click to show internal directories.
Click to hide internal directories.