object

package
v0.11.2 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NodeLevelFile = "file"
	NodeLevelFunc = "func"
)
View Source
const (
	EdgeTypeName = "label"

	FactFile FactKind = "file"
	FactDef  FactKind = "def"

	RelContains  RelKind = "contains"
	RelReference RelKind = "reference"
)

Variables

Functions

This section is empty.

Types

type DefExtras

type DefExtras struct {
	DefType   string
	RawTokens []chroma.Token
}

type FactKind

type FactKind = string

type FactVertex

type FactVertex struct {
	DocId  int
	FileId int
	Kind   FactKind
	Range  *lsif.Range
	Extras interface{}
}

func (*FactVertex) Id

func (v *FactVertex) Id() int

func (*FactVertex) IndexLineNumber added in v0.4.0

func (v *FactVertex) IndexLineNumber() int

func (*FactVertex) LineNumber

func (v *FactVertex) LineNumber() int

func (*FactVertex) ToRelVertex added in v0.1.1

func (v *FactVertex) ToRelVertex() *RelVertex

type FileExtras

type FileExtras struct {
	Path string
}

type FileInfoPart added in v0.10.0

type FileInfoPart struct {
	FileName string `csv:"fileName" json:"fileName"`
}

type GraphVertex added in v0.10.2

type GraphVertex interface {
	Id() string
	ContainTag(tag string) bool
}

type ImpactDetails added in v0.10.0

type ImpactDetails struct {
	// raw
	Self                    GraphVertex `json:"-" csv:"-"`
	ReferencedIds           []string    `json:"-" csv:"-"`
	ReferenceIds            []string    `json:"-" csv:"-"`
	TransitiveReferencedIds []string    `json:"-" csv:"-"`
	TransitiveReferenceIds  []string    `json:"-" csv:"-"`
	Entries                 []string    `json:"-" csv:"-"`
}

type ImpactUnit added in v0.10.0

type ImpactUnit struct {
	*FileInfoPart
	*UnitImpactPart
	*ImpactDetails `json:"-" csv:"-"`
}

func NewImpactUnit added in v0.10.0

func NewImpactUnit() *ImpactUnit

func (*ImpactUnit) VisitedIds added in v0.10.0

func (iu *ImpactUnit) VisitedIds() []string

type RelKind

type RelKind = string

type RelVertex

type RelVertex struct {
	DocId  int
	FileId int
	Kind   FactKind
	Range  *lsif.Range
}

func (*RelVertex) CharNumber added in v0.7.0

func (v *RelVertex) CharNumber() int

func (*RelVertex) Id

func (v *RelVertex) Id() int

func (*RelVertex) LineNumber

func (v *RelVertex) LineNumber() int

type SourceContext

type SourceContext struct {
	FileMapping map[string]int
	FactGraph   graph.Graph[int, *FactVertex]
	RelGraph    graph.Graph[int, *RelVertex]

	// caches
	FactAdjMap map[int]map[int]graph.Edge[int]
	RelAdjMap  map[int]map[int]graph.Edge[int]
}

func NewSourceContext

func NewSourceContext() SourceContext

func (*SourceContext) DefsByFileName added in v0.1.2

func (sc *SourceContext) DefsByFileName(fileName string) ([]*FactVertex, error)

func (*SourceContext) DefsByLine added in v0.1.2

func (sc *SourceContext) DefsByLine(fileName string, lineNum int) ([]*FactVertex, error)

func (*SourceContext) FileId

func (sc *SourceContext) FileId(fileName string) int

func (*SourceContext) FileName

func (sc *SourceContext) FileName(fileId int) string

func (*SourceContext) FileVertexByName

func (sc *SourceContext) FileVertexByName(fileName string) *FactVertex

func (*SourceContext) Files

func (sc *SourceContext) Files() []string

func (*SourceContext) RefsByFileName added in v0.1.2

func (sc *SourceContext) RefsByFileName(fileName string) ([]*RelVertex, error)

func (*SourceContext) RefsByLine

func (sc *SourceContext) RefsByLine(fileName string, lineNum int) ([]*RelVertex, error)

func (*SourceContext) RefsByLineAndChar added in v0.7.0

func (sc *SourceContext) RefsByLineAndChar(fileName string, lineNum int, charNum int) ([]*RelVertex, error)

func (*SourceContext) RefsFromDefId added in v0.7.0

func (sc *SourceContext) RefsFromDefId(defId int) ([]*FactVertex, error)

func (*SourceContext) RefsFromLineWithLimit added in v0.9.1

func (sc *SourceContext) RefsFromLineWithLimit(fileName string, lineNum int, charLength int) ([]*FactVertex, error)

type StatGlobal added in v0.10.2

type StatGlobal struct {
	UnitLevel   string         `json:"unitLevel,omitempty"`
	UnitMapping map[string]int `json:"unitMapping,omitempty"`

	ImpactUnits      []int `json:"impactUnits,omitempty"`
	TransImpactUnits []int `json:"transImpactUnits,omitempty"`

	TotalEntries  []int `json:"entries,omitempty"`
	ImpactEntries []int `json:"impactEntries,omitempty"`

	ImpactUnitsMap map[int]*ImpactUnit `json:"-"`
}

StatGlobal

designed for offering a global view

type UnitImpactPart added in v0.10.0

type UnitImpactPart struct {
	// unit level
	// if file level, UnitName == FileName
	// if func level, UnitName == FuncSignature
	// ...
	UnitName string `csv:"unitName" json:"unitName"`

	// Heat
	ImpactCount      int `csv:"impactCount" json:"impactCount"`
	TransImpactCount int `csv:"transImpactCount" json:"transImpactCount"`

	// entries
	ImpactEntries int `csv:"impactEntries" json:"impactEntries"`
}

Jump to

Keyboard shortcuts

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