1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package main
- import "sort"
- type Functions []Function
- var _ sort.Interface = Functions{}
- // Len implements sort.Interface.
- func (f Functions) Len() int {
- return len(f)
- }
- // Less implements sort.Interface.
- func (f Functions) Less(i int, j int) bool {
- if f[i].File < f[j].File {
- return true
- } else if f[i].File > f[j].File {
- return false
- }
- return f[i].Line.From < f[j].Line.From
- }
- // Swap implements sort.Interface.
- func (f Functions) Swap(i int, j int) {
- f[i], f[j] = f[j], f[i]
- }
- type Function struct {
- ID uint64 `json:"id"`
- Name string `json:"name"`
- Signature string `json:"signature"`
- File string `json:"file"`
- Code string `json:"code"`
- Line FunctionPos `json:"line"`
- }
- type FunctionPos struct {
- From int `json:"from"`
- To int `json:"to"`
- }
|