encodemeta

Imports

Imports #

"bytes"
"encoding/binary"
"fmt"
"hash"
"hash/fnv"
"internal/coverage"
"internal/coverage/stringtab"
"internal/coverage/uleb128"
"io"
"os"
"bufio"
"encoding/binary"
"fmt"
"hash/fnv"
"internal/coverage"
"internal/coverage/stringtab"
"io"
"os"
"unsafe"

Structs

CoverageMetaDataBuilder struct #

type CoverageMetaDataBuilder struct {
stab stringtab.Writer
funcs []funcDesc
tmp []byte
h hash.Hash
pkgpath uint32
pkgname uint32
modpath uint32
debug bool
werr error
}

CoverageMetaFileWriter struct #

type CoverageMetaFileWriter struct {
stab stringtab.Writer
mfname string
w *bufio.Writer
tmp []byte
debug bool
}

funcDesc struct #

type funcDesc struct {
encoded []byte
}

Functions

AddFunc method #

AddFunc registers a new function with the meta data builder.

func (b *CoverageMetaDataBuilder) AddFunc(f coverage.FuncDesc) uint

Emit method #

Emit writes the meta-data accumulated so far in this builder to 'w'. Returns a hash of the meta-data payload and an error.

func (b *CoverageMetaDataBuilder) Emit(w io.WriteSeeker) ([16]byte, error)

HashFuncDesc function #

HashFuncDesc computes an md5 sum of a coverage.FuncDesc and returns a digest for it.

func HashFuncDesc(f *coverage.FuncDesc) [16]byte

NewCoverageMetaDataBuilder function #

func NewCoverageMetaDataBuilder(pkgpath string, pkgname string, modulepath string) (*CoverageMetaDataBuilder, error)

NewCoverageMetaFileWriter function #

func NewCoverageMetaFileWriter(mfname string, w io.Writer) *CoverageMetaFileWriter

Write method #

func (m *CoverageMetaFileWriter) Write(finalHash [16]byte, blobs [][]byte, mode coverage.CounterMode, granularity coverage.CounterGranularity) error

emitFunc method #

func (b *CoverageMetaDataBuilder) emitFunc(w io.WriteSeeker, off int64, f funcDesc) (int64, error)

emitFuncOffsets method #

func (b *CoverageMetaDataBuilder) emitFuncOffsets(w io.WriteSeeker, off int64) int64

h32 function #

func h32(x uint32, h hash.Hash, tmp []byte)

hashFuncDesc function #

hashFuncDesc incorporates a given function 'f' into the hash 'h'.

func hashFuncDesc(h hash.Hash, f *coverage.FuncDesc, tmp []byte)

reportWriteError method #

func (b *CoverageMetaDataBuilder) reportWriteError(err error)

wrUint32 method #

func (b *CoverageMetaDataBuilder) wrUint32(w io.WriteSeeker, v uint32)

Generated with Arrow