Documentation
¶
Index ¶
- Constants
- func FindEdges(edges map[*Edge]*Edge, k EdgeKind, t EdgeTag) map[*Edge]*Edge
- func IterBlock(blk *Block, cb BlockCb)
- func RemoveEdge(edges map[*Edge]*Edge, k EdgeKind, t EdgeTag)
- func SwitchCase(clauseBlk *Block) (*Block, *Block, bool)
- type Analysis
- type AnalysisCtx
- type Block
- func (b *Block) Dot() string
- func (b *Block) DotId() string
- func (b *Block) FindHangingInEdge(src *Block, k EdgeKind, t EdgeTag, create bool) (*Edge, bool)
- func (b *Block) FindInEdge(k EdgeKind, t EdgeTag, create bool) (*Edge, bool)
- func (b *Block) FindOutEdge(k EdgeKind, t EdgeTag, create bool) *Edge
- func (b *Block) HasOutCut() bool
- func (b *Block) Id() uint
- func (b *Block) InJmpEdge(ET EdgeTag) *Edge
- func (b *Block) InSeqEdge() *Edge
- func (b *Block) IsCut() bool
- func (b *Block) IsInCut() bool
- func (b *Block) IsInCutPair() (bool, bool)
- func (b *Block) IsOutCut(to *Block) bool
- func (b *Block) NextBlk() *Block
- func (b *Block) OnlyInfo() bool
- func (b *Block) OutEdge(ET EdgeTag) *Edge
- func (b *Block) OutJmpEdge(ET EdgeTag) *Edge
- func (b *Block) OutSeqEdge() *Edge
- type BlockCb
- type BlockKind
- type Edge
- type EdgeKind
- type EdgeTag
- type Graph
- type InfoNode
- type LinkFlag
Constants ¶
View Source
const (
N_CFG_DEBUG parser.NodeType = parser.N_NODE_DEF_END + 1 + iota
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Analysis ¶
func NewAnalysis ¶
func NewAnalysisOnlyWalk ¶ added in v0.0.15
func (*Analysis) AnalysisCtx ¶
func (a *Analysis) AnalysisCtx() *AnalysisCtx
type AnalysisCtx ¶
type AnalysisCtx struct {
// contains filtered or unexported fields
}
func AsAnalysisCtx ¶
func AsAnalysisCtx(ctx *walk.VisitorCtx) *AnalysisCtx
func (*AnalysisCtx) Graph ¶
func (a *AnalysisCtx) Graph() *Graph
type Block ¶
type Block struct { Kind BlockKind Nodes []parser.Node Inlets map[*Edge]*Edge Outlets map[*Edge]*Edge // contains filtered or unexported fields }
func (*Block) FindHangingInEdge ¶
func (*Block) FindInEdge ¶
func (*Block) IsInCutPair ¶
func (*Block) OutJmpEdge ¶
func (*Block) OutSeqEdge ¶
Click to show internal directories.
Click to hide internal directories.