decodemeta

Imports

Imports #

"encoding/binary"
"fmt"
"internal/coverage"
"internal/coverage/slicereader"
"internal/coverage/stringtab"
"io"
"os"
"bufio"
"encoding/binary"
"fmt"
"hash/fnv"
"internal/coverage"
"internal/coverage/slicereader"
"internal/coverage/stringtab"
"io"
"os"

Structs

CoverageMetaDataDecoder struct #

type CoverageMetaDataDecoder struct {
r *slicereader.Reader
hdr coverage.MetaSymbolHeader
strtab *stringtab.Reader
tmp []byte
debug bool
}

CoverageMetaFileReader struct #

CoverageMetaFileReader provides state and methods for reading a meta-data file from a code coverage run.

type CoverageMetaFileReader struct {
f *os.File
hdr coverage.MetaFileHeader
tmp []byte
pkgOffsets []uint64
pkgLengths []uint64
strtab *stringtab.Reader
fileRdr *bufio.Reader
fileView []byte
debug bool
}

Functions

CounterGranularity method #

CounterGranularity returns the counter granularity (single counter per function, or counter per block) selected when building for coverage for the program that produce this meta-data file.

func (r *CoverageMetaFileReader) CounterGranularity() coverage.CounterGranularity

CounterMode method #

CounterMode returns the counter mode (set, count, atomic) used when building for coverage for the program that produce this meta-data file.

func (r *CoverageMetaFileReader) CounterMode() coverage.CounterMode

FileHash method #

FileHash returns the hash computed for all of the package meta-data blobs. Coverage counter data files refer to this hash, and the hash will be encoded into the meta-data file name.

func (r *CoverageMetaFileReader) FileHash() [16]byte

GetPackageDecoder method #

GetPackageDecoder requests a decoder object for the package within the meta-data file whose index is 'pkIdx'. If the CoverageMetaFileReader was set up with a read-only file view, a pointer into that file view will be returned, otherwise the buffer 'payloadbuf' will be written to (or if it is not of sufficient size, a new buffer will be allocated). Return value is the decoder, a byte slice with the encoded meta-data, and an error.

func (r *CoverageMetaFileReader) GetPackageDecoder(pkIdx uint32, payloadbuf []byte) (*CoverageMetaDataDecoder, []byte, error)

GetPackagePayload method #

GetPackagePayload returns the raw (encoded) meta-data payload for the package with index 'pkIdx'. As with GetPackageDecoder, if the CoverageMetaFileReader was set up with a read-only file view, a pointer into that file view will be returned, otherwise the buffer 'payloadbuf' will be written to (or if it is not of sufficient size, a new buffer will be allocated). Return value is the decoder, a byte slice with the encoded meta-data, and an error.

func (r *CoverageMetaFileReader) GetPackagePayload(pkIdx uint32, payloadbuf []byte) ([]byte, error)

ModulePath method #

func (d *CoverageMetaDataDecoder) ModulePath() string

NewCoverageMetaDataDecoder function #

func NewCoverageMetaDataDecoder(b []byte, readonly bool) (*CoverageMetaDataDecoder, error)

NewCoverageMetaFileReader function #

NewCoverageMetaFileReader returns a new helper object for reading the coverage meta-data output file 'f'. The param 'fileView' is a read-only slice containing the contents of 'f' obtained by mmap'ing the file read-only; 'fileView' may be nil, in which case the helper will read the contents of the file using regular file Read operations.

func NewCoverageMetaFileReader(f *os.File, fileView []byte) (*CoverageMetaFileReader, error)

NumFuncs method #

func (d *CoverageMetaDataDecoder) NumFuncs() uint32

NumPackages method #

NumPackages returns the number of packages for which this file contains meta-data.

func (r *CoverageMetaFileReader) NumPackages() uint64

PackageName method #

func (d *CoverageMetaDataDecoder) PackageName() string

PackagePath method #

func (d *CoverageMetaDataDecoder) PackagePath() string

ReadFunc method #

ReadFunc reads the coverage meta-data for the function with index 'findex', filling it into the FuncDesc pointed to by 'f'.

func (d *CoverageMetaDataDecoder) ReadFunc(fidx uint32, f *coverage.FuncDesc) error

rdUint64 method #

func (r *CoverageMetaFileReader) rdUint64() (uint64, error)

readFileHeader method #

func (r *CoverageMetaFileReader) readFileHeader() error

readHeader method #

func (d *CoverageMetaDataDecoder) readHeader() error

readStringTable method #

func (d *CoverageMetaDataDecoder) readStringTable() error

Generated with Arrow