Files
rbheap/inspect/file.go

31 lines
654 B
Go

package inspect
// NewFile creates a new File.
func NewFile(filePath string) *File {
return &File{
FilePath: filePath,
ObjectMap: map[string]*Object{},
}
}
// File represents a source file and the lines and objects allocated by them.
type File struct {
FilePath string
ObjectMap map[string]*Object
ObjectCount int
ByteSize int64
MemSize int64
}
// Add adds a object to a File.
func (s *File) Add(obj *Object) {
_, ok := s.ObjectMap[obj.Address]
if !ok && obj.File != "" && obj.Line != 0 {
s.ObjectCount++
s.ByteSize = s.ByteSize + obj.ByteSize
s.MemSize = s.MemSize + obj.MemSize
s.ObjectMap[obj.Address] = obj
}
}