Detected concepts
Example
Two versions of a Go package. The second version moves the method body into a new helper function:old.go
new.go
differens old.go new.go:
Store.ValidateEmail. Matching uses receiver identity to keep same-named methods
on different types apart, including when a helper takes over an existing body.
This example reports the new helper and the method edit; it does not classify
an extraction as a separate action.
Known limitations
- Implicit interfaces (structural typing) are not tracked. An interface implemented by coincidence is not flagged as a relationship.
- Package and import changes are syntax edits. The correlator detects supported declaration moves across files; it does not resolve package relationships.
- Cgo blocks are treated as opaque; the extractor does not descend into C preambles.
- Generic type parameters (Go 1.18+) are parsed structurally but type parameter renames may not be detected as renames (reported as structural changes).