Versions in this module Expand all Collapse all v2 v2.0.2 Dec 6, 2022 Changes in this version + var ErrEmptyStack = errors.New("error: empty stack") + var ErrIdxNotInt = errors.New("index is not int") + type BinTree struct + Cond ssa.Value + False *BinTree + Target bool + True *BinTree + func (t *BinTree) FalseString() string + func (t *BinTree) SetFalse(c ssa.Value) + func (t *BinTree) SetTrue(c ssa.Value) + func (t *BinTree) String() string + func (t *BinTree) TrueString() string + type BinTreeVisitor struct + func NewBinTreeVisitor() *BinTreeVisitor + func (v *BinTreeVisitor) CalcPrefix() + func (v *BinTreeVisitor) VisitRoot(t *BinTree) + type Detector struct + func NewDetector() *Detector + func (d *Detector) Detect(from, to *ssa.BasicBlock) + func (d *Detector) ExtractCond(ifelse *ssa.If) + func (d *Detector) ExtractIndex(phi *ssa.Phi) + func (d *Detector) ForLoopAt(b *ssa.BasicBlock) *Info + func (d *Detector) SetLog(w io.Writer) + type Info struct + func New(index int) *Info + func (i *Info) AddFalse(cond ssa.Value) + func (i *Info) AddTrue(cond ssa.Value) + func (i *Info) BodyIdx() int + func (i *Info) DoneIdx() int + func (i *Info) MarkTarget() + func (i *Info) ParamsOK() bool + func (i *Info) SetBodyBlock(index int) + func (i *Info) SetCond(cond ssa.Value) + func (i *Info) SetDoneBlock(index int) + func (i *Info) SetParentCond(prevCond ssa.Value) + func (i *Info) String() string + type Stack struct + func NewStack() *Stack + func (s *Stack) IsEmpty() bool + func (s *Stack) Pop() (*Info, error) + func (s *Stack) Push(i *Info) + type State int + const Body + const CondFalse + const CondTrue + const Enter + const Exit + const NonLoop Other modules containing this package github.com/JorgeGCoelho/gospal