Documentation
¶
Index ¶
- Constants
- Variables
- type DefExtras
- type FactKind
- type FactVertex
- type FileExtras
- type FileInfoPart
- type GraphVertex
- type ImpactDetails
- type ImpactUnit
- type RelKind
- type RelVertex
- type SourceContext
- func (sc *SourceContext) DefsByFileName(fileName string) ([]*FactVertex, error)
- func (sc *SourceContext) DefsByLine(fileName string, lineNum int) ([]*FactVertex, error)
- func (sc *SourceContext) FileId(fileName string) int
- func (sc *SourceContext) FileName(fileId int) string
- func (sc *SourceContext) FileVertexByName(fileName string) *FactVertex
- func (sc *SourceContext) Files() []string
- func (sc *SourceContext) RefsByFileName(fileName string) ([]*RelVertex, error)
- func (sc *SourceContext) RefsByLine(fileName string, lineNum int) ([]*RelVertex, error)
- func (sc *SourceContext) RefsByLineAndChar(fileName string, lineNum int, charNum int) ([]*RelVertex, error)
- func (sc *SourceContext) RefsFromDefId(defId int) ([]*FactVertex, error)
- func (sc *SourceContext) RefsFromLineWithLimit(fileName string, lineNum int, charLength int) ([]*FactVertex, error)
- type StatGlobal
- type UnitImpactPart
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 ¶
View Source
var ( EdgeAttrContains = graph.EdgeAttribute(EdgeTypeName, RelContains) EdgeAttrReference = graph.EdgeAttribute(EdgeTypeName, RelReference) )
Functions ¶
This section is empty.
Types ¶
type FactVertex ¶
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 ImpactDetails ¶ added in v0.10.0
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 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 (*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"`
}
Click to show internal directories.
Click to hide internal directories.