function

package
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

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 Drawable

type Drawable interface {
	DrawDot(fileName string) error
	FillWithYellow(vertexHash string) error
	FillWithRed(vertexHash string) error
}

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 FgStorage

type FgStorage struct {
	VertexIds map[int]string           `json:"vertexIds"`
	GEdges    map[int][]int            `json:"gEdges"`
	RGEdges   map[int][]int            `json:"rgEdges"`
	Cache     map[string][]*FuncVertex `json:"cache"`
}

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 CreateFuncGraphFromDirWithLSIF

func CreateFuncGraphFromDirWithLSIF(src string, lsifFile string, lang core.LangType) (*FuncGraph, error)

func CreateFuncGraphFromDirWithSCIP

func CreateFuncGraphFromDirWithSCIP(src string, scipFile string, lang core.LangType) (*FuncGraph, error)

func CreateFuncGraphFromGolangDir

func CreateFuncGraphFromGolangDir(src string, lang core.LangType) (*FuncGraph, error)

func Load

func Load(fgs *FgStorage) (*FuncGraph, error)

func LoadFile

func LoadFile(fp string) (*FuncGraph, error)

func NewEmptyFuncGraph

func NewEmptyFuncGraph() *FuncGraph

func (*FuncGraph) DrawDot

func (fg *FuncGraph) DrawDot(filename string) error

func (*FuncGraph) DrawG6Html

func (fg *FuncGraph) DrawG6Html(filename string) error

func (*FuncGraph) Dump

func (fg *FuncGraph) Dump() (*FgStorage, error)

func (*FuncGraph) DumpFile

func (fg *FuncGraph) DumpFile(fp string) error

func (*FuncGraph) FillWithRed

func (fg *FuncGraph) FillWithRed(vertexHash string) error

func (*FuncGraph) FillWithYellow

func (fg *FuncGraph) FillWithYellow(vertexHash string) error

func (*FuncGraph) FuncCount

func (fg *FuncGraph) FuncCount() int

func (*FuncGraph) GetById

func (fg *FuncGraph) GetById(id string) (*FuncVertex, error)

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 (fg *FuncGraph) RemoveNodeById(funcId string) error

func (*FuncGraph) Stat

func (fg *FuncGraph) Stat(f *FuncVertex) *VertexStat

func (*FuncGraph) ToDirGraph

func (fg *FuncGraph) ToDirGraph() (*file.FileGraph, error)

func (*FuncGraph) ToFileGraph

func (fg *FuncGraph) ToFileGraph() (*file.FileGraph, error)

func (*FuncGraph) ToG6Data

func (fg *FuncGraph) ToG6Data() (*g6.Data, error)

func (*FuncGraph) TransitiveReferenceIds

func (fg *FuncGraph) TransitiveReferenceIds(f *FuncVertex) []string

func (*FuncGraph) TransitiveReferencedIds

func (fg *FuncGraph) TransitiveReferencedIds(f *FuncVertex) []string

type FuncPos

type FuncPos struct {
	Path  string `json:"path,omitempty"`
	Lang  string `json:"lang,omitempty"`
	Start int    `json:"start,omitempty"`
	End   int    `json:"end,omitempty"`
}

type FuncVertex

type FuncVertex struct {
	*object2.Function
	*FuncPos
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL