Documentation
¶
Index ¶
- type ChangeCoupling
- type CommitFiles
- type EnvBinding
- type FunctionRegistry
- func (r *FunctionRegistry) Exists(qualifiedName string) bool
- func (r *FunctionRegistry) FindByName(name string) []string
- func (r *FunctionRegistry) FindEndingWith(suffix string) []string
- func (r *FunctionRegistry) FuzzyResolve(calleeName, moduleQN string) (string, bool)
- func (r *FunctionRegistry) LabelOf(qualifiedName string) string
- func (r *FunctionRegistry) Register(name, qualifiedName, nodeLabel string)
- func (r *FunctionRegistry) Resolve(calleeName, moduleQN string, importMap map[string]string) string
- func (r *FunctionRegistry) Size() int
- type Pipeline
- type TypeMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChangeCoupling ¶ added in v0.1.3
type ChangeCoupling struct {
FileA string
FileB string
CoChangeCount int
TotalChangesA int
TotalChangesB int
CouplingScore float64
}
ChangeCoupling represents a pair of files that change together.
type CommitFiles ¶ added in v0.1.3
CommitFiles holds the files changed in a single commit.
type EnvBinding ¶ added in v0.1.0
EnvBinding represents an extracted environment variable with a URL value.
func ScanProjectEnvURLs ¶ added in v0.1.0
func ScanProjectEnvURLs(rootPath string) []EnvBinding
ScanProjectEnvURLs walks the project root, scanning all non-ignored files for env var assignments where the value looks like a URL.
type FunctionRegistry ¶
type FunctionRegistry struct {
// contains filtered or unexported fields
}
FunctionRegistry indexes all Function, Method, and Class nodes by qualified name and simple name for fast call resolution.
func NewFunctionRegistry ¶
func NewFunctionRegistry() *FunctionRegistry
NewFunctionRegistry creates an empty registry.
func (*FunctionRegistry) Exists ¶ added in v0.1.4
func (r *FunctionRegistry) Exists(qualifiedName string) bool
Exists returns true if a qualified name is registered. Uses RLock for concurrent read safety.
func (*FunctionRegistry) FindByName ¶
func (r *FunctionRegistry) FindByName(name string) []string
FindByName returns all qualified names with the given simple name.
func (*FunctionRegistry) FindEndingWith ¶
func (r *FunctionRegistry) FindEndingWith(suffix string) []string
FindEndingWith returns all qualified names ending with ".suffix".
func (*FunctionRegistry) FuzzyResolve ¶ added in v0.1.3
func (r *FunctionRegistry) FuzzyResolve(calleeName, moduleQN string) (string, bool)
FuzzyResolve attempts a loose match when Resolve() returns "". It searches for any registered function whose simple name matches the callee's last name segment. Returns the best match (by import distance) and true, or "" and false if no match is found.
Unlike Resolve(), this does not require prefix/import agreement — it purely matches on the function name. Results should be marked as "fuzzy" resolution.
func (*FunctionRegistry) LabelOf ¶ added in v0.2.0
func (r *FunctionRegistry) LabelOf(qualifiedName string) string
LabelOf returns the node label for a qualified name, or "" if not registered.
func (*FunctionRegistry) Register ¶
func (r *FunctionRegistry) Register(name, qualifiedName, nodeLabel string)
Register adds a node to the registry.
func (*FunctionRegistry) Resolve ¶
func (r *FunctionRegistry) Resolve(calleeName, moduleQN string, importMap map[string]string) string
Resolve attempts to find the qualified name of a callee using a prioritized resolution strategy:
- Import map lookup
- Same-module match
- Project-wide single match by simple name
- Suffix match with import distance scoring
func (*FunctionRegistry) Size ¶
func (r *FunctionRegistry) Size() int
Size returns the number of entries in the registry.