// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/devtools/resultstore/v2/coverage.proto

package resultstore

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Describes line coverage for a file
type LineCoverage struct {
	// Which source lines in the file represent the start of a statement that was
	// instrumented to detect whether it was executed by the test.
	//
	// This is a bitfield where i-th bit corresponds to the i-th line. Divide line
	// number by 8 to get index into byte array. Mod line number by 8 to get bit
	// number (0 = LSB, 7 = MSB).
	//
	// A 1 denotes the line was instrumented.
	// A 0 denotes the line was not instrumented.
	InstrumentedLines []byte `protobuf:"bytes,1,opt,name=instrumented_lines,json=instrumentedLines,proto3" json:"instrumented_lines,omitempty"`
	// Which of the instrumented source lines were executed by the test. Should
	// include lines that were not instrumented.
	//
	// This is a bitfield where i-th bit corresponds to the i-th line. Divide line
	// number by 8 to get index into byte array. Mod line number by 8 to get bit
	// number (0 = LSB, 7 = MSB).
	//
	// A 1 denotes the line was executed.
	// A 0 denotes the line was not executed.
	ExecutedLines        []byte   `protobuf:"bytes,2,opt,name=executed_lines,json=executedLines,proto3" json:"executed_lines,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *LineCoverage) Reset()         { *m = LineCoverage{} }
func (m *LineCoverage) String() string { return proto.CompactTextString(m) }
func (*LineCoverage) ProtoMessage()    {}
func (*LineCoverage) Descriptor() ([]byte, []int) {
	return fileDescriptor_823b424facf00e45, []int{0}
}

func (m *LineCoverage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LineCoverage.Unmarshal(m, b)
}
func (m *LineCoverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LineCoverage.Marshal(b, m, deterministic)
}
func (m *LineCoverage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LineCoverage.Merge(m, src)
}
func (m *LineCoverage) XXX_Size() int {
	return xxx_messageInfo_LineCoverage.Size(m)
}
func (m *LineCoverage) XXX_DiscardUnknown() {
	xxx_messageInfo_LineCoverage.DiscardUnknown(m)
}

var xxx_messageInfo_LineCoverage proto.InternalMessageInfo

func (m *LineCoverage) GetInstrumentedLines() []byte {
	if m != nil {
		return m.InstrumentedLines
	}
	return nil
}

func (m *LineCoverage) GetExecutedLines() []byte {
	if m != nil {
		return m.ExecutedLines
	}
	return nil
}

// Describes branch coverage for a file
type BranchCoverage struct {
	// The field branch_present denotes the lines containing at least one branch.
	//
	// This is a bitfield where i-th bit corresponds to the i-th line. Divide line
	// number by 8 to get index into byte array. Mod line number by 8 to get bit
	// number (0 = LSB, 7 = MSB).
	//
	// A 1 denotes the line contains at least one branch.
	// A 0 denotes the line contains no branches.
	BranchPresent []byte `protobuf:"bytes,1,opt,name=branch_present,json=branchPresent,proto3" json:"branch_present,omitempty"`
	// Contains the number of branches present, only for the lines which have the
	// corresponding bit set in branch_present, in a relative order ignoring
	// lines which do not have any branches.
	BranchesInLine []int32 `protobuf:"varint,2,rep,packed,name=branches_in_line,json=branchesInLine,proto3" json:"branches_in_line,omitempty"`
	// As each branch can have any one of the following three states: not
	// executed, executed but not taken, executed and taken.
	//
	// This is a bitfield where i-th bit corresponds to the i-th branch. Divide
	// branch number by 8 to get index into byte array. Mod branch number by 8 to
	// get bit number (0 = LSB, 7 = MSB).
	//
	// i-th bit of the following two byte arrays are used to denote the above
	// mentioned states.
	//
	// not executed: i-th bit of executed == 0 && i-th bit of taken == 0
	// executed but not taken: i-th bit of executed == 1 && i-th bit of taken == 0
	// executed and taken: i-th bit of executed == 1 && i-th bit of taken == 1
	Executed []byte `protobuf:"bytes,3,opt,name=executed,proto3" json:"executed,omitempty"`
	// Described above.
	Taken                []byte   `protobuf:"bytes,4,opt,name=taken,proto3" json:"taken,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BranchCoverage) Reset()         { *m = BranchCoverage{} }
func (m *BranchCoverage) String() string { return proto.CompactTextString(m) }
func (*BranchCoverage) ProtoMessage()    {}
func (*BranchCoverage) Descriptor() ([]byte, []int) {
	return fileDescriptor_823b424facf00e45, []int{1}
}

func (m *BranchCoverage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BranchCoverage.Unmarshal(m, b)
}
func (m *BranchCoverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BranchCoverage.Marshal(b, m, deterministic)
}
func (m *BranchCoverage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BranchCoverage.Merge(m, src)
}
func (m *BranchCoverage) XXX_Size() int {
	return xxx_messageInfo_BranchCoverage.Size(m)
}
func (m *BranchCoverage) XXX_DiscardUnknown() {
	xxx_messageInfo_BranchCoverage.DiscardUnknown(m)
}

var xxx_messageInfo_BranchCoverage proto.InternalMessageInfo

func (m *BranchCoverage) GetBranchPresent() []byte {
	if m != nil {
		return m.BranchPresent
	}
	return nil
}

func (m *BranchCoverage) GetBranchesInLine() []int32 {
	if m != nil {
		return m.BranchesInLine
	}
	return nil
}

func (m *BranchCoverage) GetExecuted() []byte {
	if m != nil {
		return m.Executed
	}
	return nil
}

func (m *BranchCoverage) GetTaken() []byte {
	if m != nil {
		return m.Taken
	}
	return nil
}

// Describes code coverage for a particular file under test.
type FileCoverage struct {
	// Path of source file within the SourceContext of this Invocation.
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// Details of lines in a file required to calculate line coverage.
	LineCoverage *LineCoverage `protobuf:"bytes,2,opt,name=line_coverage,json=lineCoverage,proto3" json:"line_coverage,omitempty"`
	// Details of branches in a file required to calculate branch coverage.
	BranchCoverage       *BranchCoverage `protobuf:"bytes,3,opt,name=branch_coverage,json=branchCoverage,proto3" json:"branch_coverage,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *FileCoverage) Reset()         { *m = FileCoverage{} }
func (m *FileCoverage) String() string { return proto.CompactTextString(m) }
func (*FileCoverage) ProtoMessage()    {}
func (*FileCoverage) Descriptor() ([]byte, []int) {
	return fileDescriptor_823b424facf00e45, []int{2}
}

func (m *FileCoverage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FileCoverage.Unmarshal(m, b)
}
func (m *FileCoverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FileCoverage.Marshal(b, m, deterministic)
}
func (m *FileCoverage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FileCoverage.Merge(m, src)
}
func (m *FileCoverage) XXX_Size() int {
	return xxx_messageInfo_FileCoverage.Size(m)
}
func (m *FileCoverage) XXX_DiscardUnknown() {
	xxx_messageInfo_FileCoverage.DiscardUnknown(m)
}

var xxx_messageInfo_FileCoverage proto.InternalMessageInfo

func (m *FileCoverage) GetPath() string {
	if m != nil {
		return m.Path
	}
	return ""
}

func (m *FileCoverage) GetLineCoverage() *LineCoverage {
	if m != nil {
		return m.LineCoverage
	}
	return nil
}

func (m *FileCoverage) GetBranchCoverage() *BranchCoverage {
	if m != nil {
		return m.BranchCoverage
	}
	return nil
}

// Describes code coverage for a build or test Action. This is used to store
// baseline coverage for build Actions and test coverage for test Actions.
type ActionCoverage struct {
	// List of coverage info for all source files that the TestResult covers.
	FileCoverages        []*FileCoverage `protobuf:"bytes,2,rep,name=file_coverages,json=fileCoverages,proto3" json:"file_coverages,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ActionCoverage) Reset()         { *m = ActionCoverage{} }
func (m *ActionCoverage) String() string { return proto.CompactTextString(m) }
func (*ActionCoverage) ProtoMessage()    {}
func (*ActionCoverage) Descriptor() ([]byte, []int) {
	return fileDescriptor_823b424facf00e45, []int{3}
}

func (m *ActionCoverage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ActionCoverage.Unmarshal(m, b)
}
func (m *ActionCoverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ActionCoverage.Marshal(b, m, deterministic)
}
func (m *ActionCoverage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ActionCoverage.Merge(m, src)
}
func (m *ActionCoverage) XXX_Size() int {
	return xxx_messageInfo_ActionCoverage.Size(m)
}
func (m *ActionCoverage) XXX_DiscardUnknown() {
	xxx_messageInfo_ActionCoverage.DiscardUnknown(m)
}

var xxx_messageInfo_ActionCoverage proto.InternalMessageInfo

func (m *ActionCoverage) GetFileCoverages() []*FileCoverage {
	if m != nil {
		return m.FileCoverages
	}
	return nil
}

// Describes aggregate code coverage for a collection of build or test Actions.
// A line or branch is covered if and only if it is covered in any of the build
// or test actions.
type AggregateCoverage struct {
	// Aggregated coverage info for all source files that the actions cover.
	FileCoverages        []*FileCoverage `protobuf:"bytes,1,rep,name=file_coverages,json=fileCoverages,proto3" json:"file_coverages,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *AggregateCoverage) Reset()         { *m = AggregateCoverage{} }
func (m *AggregateCoverage) String() string { return proto.CompactTextString(m) }
func (*AggregateCoverage) ProtoMessage()    {}
func (*AggregateCoverage) Descriptor() ([]byte, []int) {
	return fileDescriptor_823b424facf00e45, []int{4}
}

func (m *AggregateCoverage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AggregateCoverage.Unmarshal(m, b)
}
func (m *AggregateCoverage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AggregateCoverage.Marshal(b, m, deterministic)
}
func (m *AggregateCoverage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AggregateCoverage.Merge(m, src)
}
func (m *AggregateCoverage) XXX_Size() int {
	return xxx_messageInfo_AggregateCoverage.Size(m)
}
func (m *AggregateCoverage) XXX_DiscardUnknown() {
	xxx_messageInfo_AggregateCoverage.DiscardUnknown(m)
}

var xxx_messageInfo_AggregateCoverage proto.InternalMessageInfo

func (m *AggregateCoverage) GetFileCoverages() []*FileCoverage {
	if m != nil {
		return m.FileCoverages
	}
	return nil
}

func init() {
	proto.RegisterType((*LineCoverage)(nil), "google.devtools.resultstore.v2.LineCoverage")
	proto.RegisterType((*BranchCoverage)(nil), "google.devtools.resultstore.v2.BranchCoverage")
	proto.RegisterType((*FileCoverage)(nil), "google.devtools.resultstore.v2.FileCoverage")
	proto.RegisterType((*ActionCoverage)(nil), "google.devtools.resultstore.v2.ActionCoverage")
	proto.RegisterType((*AggregateCoverage)(nil), "google.devtools.resultstore.v2.AggregateCoverage")
}

func init() {
	proto.RegisterFile("google/devtools/resultstore/v2/coverage.proto", fileDescriptor_823b424facf00e45)
}

var fileDescriptor_823b424facf00e45 = []byte{
	// 386 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcd, 0xca, 0xd3, 0x40,
	0x14, 0x25, 0xfd, 0x11, 0xbd, 0x26, 0xd1, 0x0e, 0x2e, 0x82, 0x0b, 0x29, 0x81, 0x42, 0x17, 0x76,
	0x02, 0x75, 0xe9, 0xaa, 0x15, 0x84, 0x82, 0x8b, 0x1a, 0x17, 0x82, 0x9b, 0x90, 0xa6, 0xb7, 0xd3,
	0xc1, 0xe9, 0x4c, 0x9c, 0x99, 0x06, 0xdf, 0xc3, 0xf7, 0xf2, 0x99, 0xa4, 0x93, 0x9f, 0xc6, 0xc5,
	0xd7, 0x7e, 0xf0, 0xed, 0xe6, 0x9e, 0x7b, 0xee, 0x39, 0xf7, 0x1e, 0x18, 0x58, 0x30, 0xa5, 0x98,
	0xc0, 0x64, 0x8f, 0x95, 0x55, 0x4a, 0x98, 0x44, 0xa3, 0x39, 0x0b, 0x6b, 0xac, 0xd2, 0x98, 0x54,
	0xcb, 0xa4, 0x50, 0x15, 0xea, 0x9c, 0x21, 0x2d, 0xb5, 0xb2, 0x8a, 0xbc, 0xab, 0xe9, 0xb4, 0xa5,
	0xd3, 0x1e, 0x9d, 0x56, 0xcb, 0x78, 0x0f, 0xfe, 0x17, 0x2e, 0xf1, 0x53, 0x33, 0x45, 0x16, 0x40,
	0xb8, 0x34, 0x56, 0x9f, 0x4f, 0x28, 0x2d, 0xee, 0x33, 0xc1, 0x25, 0x9a, 0xc8, 0x9b, 0x7a, 0x73,
	0x3f, 0x9d, 0xf4, 0x3b, 0x97, 0x29, 0x43, 0x66, 0x10, 0xe2, 0x6f, 0x2c, 0xce, 0x57, 0xea, 0xc0,
	0x51, 0x83, 0x16, 0x75, 0xb4, 0xf8, 0x8f, 0x07, 0xe1, 0x5a, 0xe7, 0xb2, 0x38, 0x76, 0x46, 0x33,
	0x08, 0x77, 0x0e, 0xc9, 0x4a, 0x8d, 0x06, 0xa5, 0x6d, 0x4c, 0x82, 0x1a, 0xdd, 0xd6, 0x20, 0x99,
	0xc3, 0xeb, 0x1a, 0x40, 0x93, 0x71, 0xe9, 0x3c, 0xa2, 0xc1, 0x74, 0x38, 0x1f, 0xa7, 0x61, 0x8b,
	0x6f, 0xe4, 0xc5, 0x84, 0xbc, 0x85, 0xe7, 0xad, 0x69, 0x34, 0x74, 0x52, 0x5d, 0x4d, 0xde, 0xc0,
	0xd8, 0xe6, 0x3f, 0x51, 0x46, 0x23, 0xd7, 0xa8, 0x8b, 0xf8, 0xaf, 0x07, 0xfe, 0x67, 0x2e, 0xae,
	0xc7, 0x13, 0x18, 0x95, 0xb9, 0x3d, 0xba, 0x4d, 0x5e, 0xa4, 0xee, 0x4d, 0xbe, 0x42, 0x70, 0x31,
	0xcd, 0xda, 0x5c, 0xdd, 0x81, 0x2f, 0x97, 0xef, 0xe9, 0xed, 0x60, 0x69, 0x3f, 0xd5, 0xd4, 0x17,
	0xfd, 0x8c, 0xbf, 0xc3, 0xab, 0xe6, 0xf4, 0x4e, 0x74, 0xe8, 0x44, 0xe9, 0x3d, 0xd1, 0xff, 0x33,
	0x6c, 0x23, 0x68, 0xeb, 0x18, 0x21, 0x5c, 0x15, 0x96, 0x2b, 0xd9, 0x59, 0x7d, 0x83, 0xf0, 0xc0,
	0xc5, 0x75, 0x7b, 0xe3, 0xc2, 0x7b, 0xc4, 0xfa, 0xfd, 0x5c, 0xd2, 0xe0, 0xd0, 0xab, 0x4c, 0x7c,
	0x84, 0xc9, 0x8a, 0x31, 0x8d, 0x2c, 0xb7, 0x78, 0xc3, 0xc9, 0x7b, 0xb2, 0xd3, 0xfa, 0x17, 0xc4,
	0x85, 0x3a, 0xdd, 0x51, 0xd8, 0x7a, 0x3f, 0x36, 0x0d, 0x83, 0x29, 0x91, 0x4b, 0x46, 0x95, 0x66,
	0x09, 0x43, 0xe9, 0x7e, 0x40, 0x52, 0xb7, 0xf2, 0x92, 0x9b, 0x87, 0xfe, 0xcc, 0xc7, 0x5e, 0xb9,
	0x7b, 0xe6, 0xa6, 0x3e, 0xfc, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x9f, 0x5a, 0xd7, 0x5d, 0x68, 0x03,
	0x00, 0x00,
}
