(addr uint64)
| 691 | } |
| 692 | |
| 693 | func (f *fileAddr2Line) SourceLine(addr uint64) ([]plugin.Frame, error) { |
| 694 | f.baseOnce.Do(func() { f.baseErr = f.computeBase(addr) }) |
| 695 | if f.baseErr != nil { |
| 696 | return nil, f.baseErr |
| 697 | } |
| 698 | f.once.Do(f.init) |
| 699 | if f.llvmSymbolizer != nil { |
| 700 | return f.llvmSymbolizer.addrInfo(addr) |
| 701 | } |
| 702 | if f.addr2liner != nil { |
| 703 | return f.addr2liner.addrInfo(addr) |
| 704 | } |
| 705 | return nil, fmt.Errorf("could not find local addr2liner") |
| 706 | } |
| 707 | |
| 708 | func (f *fileAddr2Line) init() { |
| 709 | if llvmSymbolizer, err := newLLVMSymbolizer(f.b.llvmSymbolizer, f.name, f.base, f.isData); err == nil { |
nothing calls this directly
no test coverage detected