Documentation
¶
Index ¶
- func FuncGraph2FileGraph(f graph.Graph[string, *FuncVertex], g graph.Graph[string, *file.FileVertex]) error
- type Drawable
- type FactStorage
- type FgStorage
- type FuncGraph
- func CreateFuncGraph(fact *FactStorage, relationship *object.SourceContext) (*FuncGraph, error)
- func CreateFuncGraphFromDirWithLSIF(src string, lsifFile string, lang core.LangType) (*FuncGraph, error)
- func CreateFuncGraphFromDirWithSCIP(src string, scipFile string, lang core.LangType) (*FuncGraph, error)
- func CreateFuncGraphFromGolangDir(src string, lang core.LangType) (*FuncGraph, error)
- func Load(fgs *FgStorage) (*FuncGraph, error)
- func LoadFile(fp string) (*FuncGraph, error)
- func NewEmptyFuncGraph() *FuncGraph
- func (fg *FuncGraph) DrawDot(filename string) error
- func (fg *FuncGraph) DrawG6Html(filename string) error
- func (fg *FuncGraph) Dump() (*FgStorage, error)
- func (fg *FuncGraph) DumpFile(fp string) error
- func (fg *FuncGraph) FillWithRed(vertexHash string) error
- func (fg *FuncGraph) FillWithYellow(vertexHash string) error
- func (fg *FuncGraph) FuncCount() int
- func (fg *FuncGraph) GetById(id string) (*FuncVertex, error)
- func (fg *FuncGraph) GetFunctionsByFile(fileName string) []*FuncVertex
- func (fg *FuncGraph) GetFunctionsByFileLines(fileName string, lines []int) []*FuncVertex
- func (fg *FuncGraph) ReferenceIds(f *FuncVertex) []string
- func (fg *FuncGraph) ReferencedCount(f *FuncVertex) int
- func (fg *FuncGraph) ReferencedIds(f *FuncVertex) []string
- func (fg *FuncGraph) RemoveNodeById(funcId string) error
- func (fg *FuncGraph) Stat(f *FuncVertex) *VertexStat
- func (fg *FuncGraph) ToDirGraph() (*file.FileGraph, error)
- func (fg *FuncGraph) ToFileGraph() (*file.FileGraph, error)
- func (fg *FuncGraph) ToG6Data() (*g6.Data, error)
- func (fg *FuncGraph) TransitiveReferenceIds(f *FuncVertex) []string
- func (fg *FuncGraph) TransitiveReferencedIds(f *FuncVertex) []string
- type FuncPos
- type FuncVertex
- type VertexStat
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FuncGraph2FileGraph ¶
func FuncGraph2FileGraph(f graph.Graph[string, *FuncVertex], g graph.Graph[string, *file.FileVertex]) error
Types ¶
type FactStorage ¶
type FactStorage struct {
// contains filtered or unexported fields
}
FactStorage fact is some extra metadata extracted from source code something like: function definitions with their annotations/params/receiver ... these data can be used for enhancing relationship
func CreateFact ¶
func CreateFact(root string, lang core.LangType) (*FactStorage, error)
func (*FactStorage) GetFunctionsByFile ¶
func (fs *FactStorage) GetFunctionsByFile(fileName string) *extractor.FunctionFileResult
func (*FactStorage) GetSymbolsByFileAndLine ¶
func (fs *FactStorage) GetSymbolsByFileAndLine(fileName string, line int) []*extractor.Symbol
type FuncGraph ¶
type FuncGraph struct {
// k: file, v: function
Cache map[string][]*FuncVertex
// source context ptr
Sc *object.SourceContext
// contains filtered or unexported fields
}
func CreateFuncGraph ¶
func CreateFuncGraph(fact *FactStorage, relationship *object.SourceContext) (*FuncGraph, error)
func NewEmptyFuncGraph ¶
func NewEmptyFuncGraph() *FuncGraph
func (*FuncGraph) DrawG6Html ¶
func (*FuncGraph) FillWithRed ¶
func (*FuncGraph) FillWithYellow ¶
func (*FuncGraph) GetFunctionsByFile ¶
func (fg *FuncGraph) GetFunctionsByFile(fileName string) []*FuncVertex
func (*FuncGraph) GetFunctionsByFileLines ¶
func (fg *FuncGraph) GetFunctionsByFileLines(fileName string, lines []int) []*FuncVertex
func (*FuncGraph) ReferenceIds ¶
func (fg *FuncGraph) ReferenceIds(f *FuncVertex) []string
func (*FuncGraph) ReferencedCount ¶
func (fg *FuncGraph) ReferencedCount(f *FuncVertex) int
func (*FuncGraph) ReferencedIds ¶
func (fg *FuncGraph) ReferencedIds(f *FuncVertex) []string
func (*FuncGraph) RemoveNodeById ¶
func (*FuncGraph) Stat ¶
func (fg *FuncGraph) Stat(f *FuncVertex) *VertexStat
func (*FuncGraph) TransitiveReferenceIds ¶
func (fg *FuncGraph) TransitiveReferenceIds(f *FuncVertex) []string
func (*FuncGraph) TransitiveReferencedIds ¶
func (fg *FuncGraph) TransitiveReferencedIds(f *FuncVertex) []string
type FuncVertex ¶
func CreateFuncVertex ¶
func CreateFuncVertex(f *object2.Function, fr *extractor.FunctionFileResult) *FuncVertex
func (*FuncVertex) Id ¶
func (fv *FuncVertex) Id() string
func (*FuncVertex) PosKey ¶
func (fv *FuncVertex) PosKey() string
type VertexStat ¶
type VertexStat struct {
Referenced int `json:"referenced" csv:"referenced"`
Reference int `json:"reference" csv:"reference"`
TransitiveReferenced int `json:"transitiveReferenced" csv:"transitiveReferenced"`
TransitiveReference int `json:"transitiveReference" csv:"transitiveReference"`
// raw
Root *FuncVertex `json:"-" csv:"-"`
ReferencedIds []string `json:"-" csv:"-"`
ReferenceIds []string `json:"-" csv:"-"`
TransitiveReferencedIds []string `json:"-" csv:"-"`
TransitiveReferenceIds []string `json:"-" csv:"-"`
}
func (*VertexStat) VisitedIds ¶
func (v *VertexStat) VisitedIds() []string
Click to show internal directories.
Click to hide internal directories.