// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/erigontech/erigon/polygon/bor (interfaces: Spanner)
//
// Generated by this command:
//
//	mockgen -typed=true -destination=./spanner_mock.go -package=bor . Spanner
//

// Package bor is a generated GoMock package.
package bor

import (
	reflect "reflect"

	rules "github.com/erigontech/erigon/execution/protocol/rules"
	heimdall "github.com/erigontech/erigon/polygon/heimdall"
	gomock "go.uber.org/mock/gomock"
)

// MockSpanner is a mock of Spanner interface.
type MockSpanner struct {
	ctrl     *gomock.Controller
	recorder *MockSpannerMockRecorder
	isgomock struct{}
}

// MockSpannerMockRecorder is the mock recorder for MockSpanner.
type MockSpannerMockRecorder struct {
	mock *MockSpanner
}

// NewMockSpanner creates a new mock instance.
func NewMockSpanner(ctrl *gomock.Controller) *MockSpanner {
	mock := &MockSpanner{ctrl: ctrl}
	mock.recorder = &MockSpannerMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockSpanner) EXPECT() *MockSpannerMockRecorder {
	return m.recorder
}

// CommitSpan mocks base method.
func (m *MockSpanner) CommitSpan(heimdallSpan heimdall.Span, syscall rules.SystemCall) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CommitSpan", heimdallSpan, syscall)
	ret0, _ := ret[0].(error)
	return ret0
}

// CommitSpan indicates an expected call of CommitSpan.
func (mr *MockSpannerMockRecorder) CommitSpan(heimdallSpan, syscall any) *MockSpannerCommitSpanCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CommitSpan", reflect.TypeOf((*MockSpanner)(nil).CommitSpan), heimdallSpan, syscall)
	return &MockSpannerCommitSpanCall{Call: call}
}

// MockSpannerCommitSpanCall wrap *gomock.Call
type MockSpannerCommitSpanCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockSpannerCommitSpanCall) Return(arg0 error) *MockSpannerCommitSpanCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockSpannerCommitSpanCall) Do(f func(heimdall.Span, rules.SystemCall) error) *MockSpannerCommitSpanCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockSpannerCommitSpanCall) DoAndReturn(f func(heimdall.Span, rules.SystemCall) error) *MockSpannerCommitSpanCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// GetCurrentSpan mocks base method.
func (m *MockSpanner) GetCurrentSpan(syscall rules.SystemCall) (*heimdall.Span, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCurrentSpan", syscall)
	ret0, _ := ret[0].(*heimdall.Span)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetCurrentSpan indicates an expected call of GetCurrentSpan.
func (mr *MockSpannerMockRecorder) GetCurrentSpan(syscall any) *MockSpannerGetCurrentSpanCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentSpan", reflect.TypeOf((*MockSpanner)(nil).GetCurrentSpan), syscall)
	return &MockSpannerGetCurrentSpanCall{Call: call}
}

// MockSpannerGetCurrentSpanCall wrap *gomock.Call
type MockSpannerGetCurrentSpanCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockSpannerGetCurrentSpanCall) Return(arg0 *heimdall.Span, arg1 error) *MockSpannerGetCurrentSpanCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockSpannerGetCurrentSpanCall) Do(f func(rules.SystemCall) (*heimdall.Span, error)) *MockSpannerGetCurrentSpanCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockSpannerGetCurrentSpanCall) DoAndReturn(f func(rules.SystemCall) (*heimdall.Span, error)) *MockSpannerGetCurrentSpanCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
