Versions in this module Expand all Collapse all v1 v1.0.0 Jan 10, 2019 Changes in this version + const EndOp + const NewChanOp + const NoOp + const RecvOp + const STOP + const SendOp + func CountNodes(root Node) int + func PrintNodeSummary(session *Session) + func SessionCountNodes(session *Session) map[string]int + func StringRecursive(node Node) string + type CFSMs struct + Chans map[Role]*cfsm.CFSM + Roles map[Role]*cfsm.CFSM + States map[*cfsm.CFSM]map[string]*cfsm.State + Sys *cfsm.System + func NewCFSMs(s *Session) *CFSMs + func (sys *CFSMs) PrintSummary() + func (sys *CFSMs) WriteTo(w io.Writer) (int64, error) + type Chan struct + func (ch Chan) Name() string + func (ch Chan) Role() Role + func (ch Chan) Type() types.Type + func (ch Chan) Value() ssa.Value + type EmptyBodyNode struct + func (e *EmptyBodyNode) Append(node Node) Node + func (e *EmptyBodyNode) Child(i int) Node + func (e *EmptyBodyNode) Children() []Node + func (e *EmptyBodyNode) Kind() op + func (e *EmptyBodyNode) String() string + type EndNode struct + func (e *EndNode) Append(n Node) Node + func (e *EndNode) Chan() Chan + func (e *EndNode) Child(i int) Node + func (e *EndNode) Children() []Node + func (e *EndNode) Kind() op + func (e *EndNode) String() string + type GotoNode struct + func (g *GotoNode) Append(n Node) Node + func (g *GotoNode) Child(i int) Node + func (g *GotoNode) Children() []Node + func (g *GotoNode) Kind() op + func (g *GotoNode) Name() string + func (g *GotoNode) String() string + type GraphvizDot struct + Count int + Graph *gographviz.Escape + LabelNodes map[string]string + func NewGraphvizDot(s *Session) *GraphvizDot + func (dot *GraphvizDot) WriteTo(w io.Writer) (int64, error) + type LabelNode struct + func (l *LabelNode) Append(n Node) Node + func (l *LabelNode) Child(i int) Node + func (l *LabelNode) Children() []Node + func (l *LabelNode) Kind() op + func (l *LabelNode) Name() string + func (l *LabelNode) String() string + type NewChanNode struct + func (nc *NewChanNode) Append(n Node) Node + func (nc *NewChanNode) Chan() Chan + func (nc *NewChanNode) Child(i int) Node + func (nc *NewChanNode) Children() []Node + func (nc *NewChanNode) Kind() op + func (nc *NewChanNode) String() string + type Node interface + Append func(child Node) Node + Child func(index int) Node + Children func() []Node + Kind func() op + String func() string + func NewEndNode(ch Chan) Node + func NewGotoNode(name string) Node + func NewLabelNode(name string) Node + func NewNewChanNode(ch Chan) Node + func NewRecvNode(orig Chan, rcvr Role, typ types.Type) Node + func NewRecvStopNode(orig Chan, rcvr Role, typ types.Type) Node + func NewSelectRecvNode(orig Chan, rcvr Role, typ types.Type) Node + func NewSelectSendNode(sndr Role, dest Chan, typ types.Type) Node + func NewSendNode(sndr Role, dest Chan, typ types.Type) Node + type NodeStack struct + func NewNodeStack() *NodeStack + func (s *NodeStack) Pop() + func (s *NodeStack) Push(node Node) + func (s *NodeStack) Size() int + func (s *NodeStack) String() string + func (s *NodeStack) Top() Node + type RecvNode struct + func (r *RecvNode) Append(node Node) Node + func (r *RecvNode) Child(index int) Node + func (r *RecvNode) Children() []Node + func (r *RecvNode) From() Chan + func (r *RecvNode) IsNondet() bool + func (r *RecvNode) Kind() op + func (r *RecvNode) Receiver() Role + func (r *RecvNode) Stop() bool + func (r *RecvNode) String() string + type Role interface + Name func() string + type SendNode struct + func (s *SendNode) Append(n Node) Node + func (s *SendNode) Child(i int) Node + func (s *SendNode) Children() []Node + func (s *SendNode) IsNondet() bool + func (s *SendNode) Kind() op + func (s *SendNode) Sender() Role + func (s *SendNode) String() string + func (s *SendNode) To() Chan + type Session struct + Chans map[*utils.Definition]Chan + Roles map[string]Role + Types map[Role]Node + func CreateSession() *Session + func (s *Session) GetRole(name string) Role + func (s *Session) MakeChan(v *utils.Definition, r Role) Chan + func (s *Session) MakeExtChan(v *utils.Definition, r Role) Chan + func (s *Session) String() string