Documentation ¶
Index ¶
- Variables
- type BFSNode
- type CallMapper
- func (cm *CallMapper) AllPathsBFS(s *callgraph.Node) *match.CallPaths
- func (cm *CallMapper) AllPathsDFS(s *callgraph.Node) *match.CallPaths
- func (cm *CallMapper) BFS(start *callgraph.Node, initialPath []wallynode.WallyNode, ...)
- func (cm *CallMapper) DFS(destination *callgraph.Node, visited map[int]bool, path []wallynode.WallyNode, ...)
- type LimiterMode
- type Options
- type SearchAlgorithm
Constants ¶
This section is empty.
Variables ¶
View Source
var LimiterModes = map[string]LimiterMode{ "none": None, "normal": Normal, "high": High, "strict": Strict, "very-strict": VeryStrict, }
View Source
var SearchAlgs = map[string]SearchAlgorithm{ "bfs": Bfs, "dfs": Dfs, }
Functions ¶
This section is empty.
Types ¶
type CallMapper ¶
type CallMapper struct { Options Options Match *match.RouteMatch Stop bool CallgraphNodes map[*ssa.Function]*callgraph.Node NodeFactory *wallynode.WallyNodeFactory }
func NewCallMapper ¶
func NewCallMapper(match *match.RouteMatch, nodes map[*ssa.Function]*callgraph.Node, options Options) *CallMapper
func (*CallMapper) AllPathsBFS ¶
func (cm *CallMapper) AllPathsBFS(s *callgraph.Node) *match.CallPaths
func (*CallMapper) AllPathsDFS ¶
func (cm *CallMapper) AllPathsDFS(s *callgraph.Node) *match.CallPaths
type LimiterMode ¶
type LimiterMode int
const ( None LimiterMode = iota Normal High Strict VeryStrict )
None = allows analysis to run pass main Normal = filters up to the main function if possible unless. It also filters up to main pkg *unless* the last function before going outside of main is a closure Strict = Does not allow going past the main package
Click to show internal directories.
Click to hide internal directories.