Full Code of vektra/mockery for AI

v3 61b1a4512604 cached
298 files
954.9 KB
309.2k tokens
2300 symbols
1 requests
Download .txt
Showing preview only (1,034K chars total). Download the full file or copy to clipboard to get everything.
Repository: vektra/mockery
Branch: v3
Commit: 61b1a4512604
Files: 298
Total size: 954.9 KB

Directory structure:
gitextract_dgckkgnh/

├── .boilerplate.txt
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   └── bug_report.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/
│       ├── documentation.yml
│       ├── release.yml
│       ├── reusable-testing.yml
│       ├── tag-and-release.yml
│       ├── testing-dispatch.yml
│       └── testing.yml
├── .gitignore
├── .golangci.yml
├── .goreleaser.yml
├── .mockery_matryer.yml
├── .mockery_testify.yml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── Taskfile.yml
├── codecov.yml
├── config/
│   ├── README.md
│   ├── config.go
│   └── config_test.go
├── docs/
│   ├── configuration.md
│   ├── dev-notes.md
│   ├── faq.md
│   ├── generate-directive.md
│   ├── include-auto-generated.md
│   ├── index.md
│   ├── inpackage.md
│   ├── installation.md
│   ├── javascripts/
│   │   └── tablesort.js
│   ├── replace-type.md
│   ├── requirements.txt
│   ├── stylesheets/
│   │   └── extra.css
│   ├── template/
│   │   ├── index.md
│   │   ├── matryer.md
│   │   └── testify.md
│   └── v3.md
├── e2e/
│   ├── run_all.sh
│   ├── test_infinite_mocking.sh
│   ├── test_missing_interface/
│   │   ├── .mockery.yml
│   │   └── run.sh
│   ├── test_mockery_generation.sh
│   ├── test_remote_templates/
│   │   └── remote_templates_test.go
│   ├── test_template_data_schema_validation/
│   │   ├── .mockery.yml
│   │   ├── template.templ
│   │   ├── template.templ.schema.json
│   │   └── validation_test.go
│   └── test_template_exercise/
│       ├── .mockery.yml
│       ├── exercise.templ
│       ├── exercise.templ.schema.json
│       ├── exercise_expected.txt
│       └── exercise_test.go
├── foo.go
├── foo_test.go
├── go.mod
├── go.sum
├── go.work
├── go.work.sum
├── internal/
│   ├── cmd/
│   │   ├── init.go
│   │   ├── init_test.go
│   │   ├── migrate.go
│   │   ├── migrate_test.go
│   │   ├── mockery.go
│   │   ├── mocks_testify_cmd_test.go
│   │   ├── showconfig.go
│   │   └── version.go
│   ├── config/
│   │   └── config.go
│   ├── errors.go
│   ├── file/
│   │   ├── exists.go
│   │   ├── exists_test.go
│   │   ├── find.go
│   │   └── find_test.go
│   ├── fixtures/
│   │   ├── 12345678/
│   │   │   └── http/
│   │   │       └── http.go
│   │   ├── any_keyword.go
│   │   ├── argument_is_func_type.go
│   │   ├── argument_is_map_func.go
│   │   ├── async.go
│   │   ├── auto_generated_skip/
│   │   │   ├── auto_generated.go
│   │   │   ├── foo.go
│   │   │   ├── foo_test.go
│   │   │   └── mocks_testify_autogeneratedskip_test.go
│   │   ├── buildtag/
│   │   │   ├── comment/
│   │   │   │   ├── custom2_iface.go
│   │   │   │   ├── custom_iface.go
│   │   │   │   ├── darwin_iface.go
│   │   │   │   ├── freebsd_iface.go
│   │   │   │   ├── linux_iface.go
│   │   │   │   ├── mocks_testify_comment_test.go
│   │   │   │   └── windows_iface.go
│   │   │   └── filename/
│   │   │       ├── iface_darwin.go
│   │   │       ├── iface_freebsd.go
│   │   │       ├── iface_linux.go
│   │   │       └── iface_windows.go
│   │   ├── constraint_ifaces/
│   │   │   ├── constraint_interfaces.go
│   │   │   └── constraint_interfaces_test.go
│   │   ├── constraints/
│   │   │   └── constraints.go
│   │   ├── consul.go
│   │   ├── custom_error.go
│   │   ├── directive_comments/
│   │   │   ├── directive_comments.go
│   │   │   ├── directive_comments_test.go
│   │   │   ├── mocks_matryer_directive_comments_test.go
│   │   │   ├── mocks_testify_directive_comments_test.go
│   │   │   └── server_with_different_file.go
│   │   ├── directive_comments_example/
│   │   │   └── interface.go
│   │   ├── empty_interface.go
│   │   ├── empty_return/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mocks_matryer_empty_return_test.go
│   │   │   └── mocks_testify_empty_return_test.go
│   │   ├── example_project/
│   │   │   ├── bar/
│   │   │   │   └── foo/
│   │   │   │       └── client.go
│   │   │   ├── baz/
│   │   │   │   ├── foo.go
│   │   │   │   └── internal/
│   │   │   │       └── foo/
│   │   │   │           └── foo.go
│   │   │   ├── context/
│   │   │   │   └── context.go
│   │   │   ├── foo/
│   │   │   │   ├── foo.go
│   │   │   │   └── pkg_name_same_as_import.go
│   │   │   ├── mocks_testify_example_project_test.go
│   │   │   ├── pkg_with_submodules/
│   │   │   │   ├── go.mod
│   │   │   │   ├── string.go
│   │   │   │   ├── submodule/
│   │   │   │   │   ├── go.mod
│   │   │   │   │   └── string.go
│   │   │   │   └── subpkg/
│   │   │   │       ├── string.go
│   │   │   │       └── submodule/
│   │   │   │           ├── go.mod
│   │   │   │           └── string.go
│   │   │   ├── pkg_with_subpkgs/
│   │   │   │   ├── foo.go
│   │   │   │   ├── subpkg1/
│   │   │   │   │   └── foo.go
│   │   │   │   └── subpkg2/
│   │   │   │       ├── foo.go
│   │   │   │       └── subpkg3/
│   │   │   │           └── foo.go
│   │   │   ├── replace_type/
│   │   │   │   ├── README.md
│   │   │   │   ├── mocks_testify_replace_type_test.go
│   │   │   │   ├── rt.go
│   │   │   │   ├── rt_test.go
│   │   │   │   └── rti/
│   │   │   │       ├── internal/
│   │   │   │       │   └── rti.go
│   │   │   │       ├── rt1/
│   │   │   │       │   └── rt1.go
│   │   │   │       └── rt2/
│   │   │   │           └── rt2.go
│   │   │   ├── root.go
│   │   │   ├── string.go
│   │   │   └── string_test.go
│   │   ├── expecter.go
│   │   ├── expecter_test.go
│   │   ├── func_args_collision.go
│   │   ├── function.go
│   │   ├── generic.go
│   │   ├── http/
│   │   │   └── http.go
│   │   ├── iface_new_type/
│   │   │   ├── iface_new_type_test.go
│   │   │   ├── interface.go
│   │   │   ├── mocks_testify_iface_new_type_test.go
│   │   │   └── subpkg/
│   │   │       └── interface.go
│   │   ├── iface_typed_param/
│   │   │   ├── getter_iface_typed_param.go
│   │   │   ├── main_test.go
│   │   │   └── mocks_testify_iface_typed_param_test.go
│   │   ├── iface_typed_param_lowercase/
│   │   │   ├── getter_iface_typed_param.go
│   │   │   ├── main_test.go
│   │   │   └── mocks_testify_iface_typed_param_lowercase_test.go
│   │   ├── imports_from_nested_interface.go
│   │   ├── imports_same_as_package.go
│   │   ├── include_auto_generated/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── mocks_testify_includeautogenerated_test.go
│   │   ├── index_list_expr/
│   │   │   ├── index_list_expression.go
│   │   │   ├── index_list_expression_test.go
│   │   │   └── mocks_testify_index_list_expr_test.go
│   │   ├── inpackage/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── subpkg/
│   │   │       └── mocks_testify_inpackage_test.go
│   │   ├── instantiated_generic_interface.go
│   │   ├── instantiated_generic_struct.go
│   │   ├── interface_dir_relative/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── internal/
│   │   │   │   └── fixtures/
│   │   │   │       └── interface_dir_relative/
│   │   │   │           └── mocks.go
│   │   │   └── mocks/
│   │   │       └── fixtures/
│   │   │           └── interface_dir_relative/
│   │   │               └── mocks.go
│   │   ├── io_import.go
│   │   ├── issue_766.go
│   │   ├── issue_766_test.go
│   │   ├── map_to_interface.go
│   │   ├── method_args/
│   │   │   └── same_name_arg_and_type/
│   │   │       ├── entity.go
│   │   │       ├── entity_test.go
│   │   │       └── mocks_testify_same_name_arg_and_type_test.go
│   │   ├── mock_method_uses_pkg_iface.go
│   │   ├── mocks_io_test.go
│   │   ├── mocks_matryer_test_test.go
│   │   ├── mocks_net_http_test.go
│   │   ├── mocks_testify_test_test.go
│   │   ├── multi_template/
│   │   │   ├── README.md
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mocks_matryer_multitemplate_test.go
│   │   │   └── mocks_testify_multitemplate_test.go
│   │   ├── nil_run.go
│   │   ├── nil_run_test.go
│   │   ├── output_dir/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mock/
│   │   │   │   └── mocks_matryer_output_dir_test.go
│   │   │   ├── mocks_matryer_output_dir_test.go
│   │   │   └── output_dir/
│   │   │       └── mocks_matryer_output_dir_test.go
│   │   ├── panic_err.go
│   │   ├── panic_err_test.go
│   │   ├── pkg_with_no_files/
│   │   │   └── subpkg/
│   │   │       └── foo.go
│   │   ├── recursive_generation/
│   │   │   ├── foo.go
│   │   │   ├── mocks_testify_recursive_generation_test.go
│   │   │   ├── subpkg1/
│   │   │   │   ├── foo.go
│   │   │   │   └── mocks_testify_subpkg1_test.go
│   │   │   ├── subpkg2/
│   │   │   │   ├── foo.go
│   │   │   │   └── mocks_testify_subpkg2_test.go
│   │   │   └── subpkg_with_only_autogenerated_files/
│   │   │       └── foo.go
│   │   ├── recursive_generation_with_subpkg_exclude/
│   │   │   ├── foo.go
│   │   │   ├── foo_test.go
│   │   │   ├── mocks.go
│   │   │   ├── subpkg1/
│   │   │   │   ├── foo.go
│   │   │   │   └── mocks.go
│   │   │   └── subpkg2/
│   │   │       └── foo.go
│   │   ├── redefined_type_b/
│   │   │   └── redefined_type_b.go
│   │   ├── replace_type_pointers/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── mocks_testify_replace_type_pointers_test.go
│   │   ├── requester.go
│   │   ├── requester2.go
│   │   ├── requester3.go
│   │   ├── requester4.go
│   │   ├── requester_arg_same_as_import.go
│   │   ├── requester_arg_same_as_named_import.go
│   │   ├── requester_arg_same_as_pkg.go
│   │   ├── requester_array.go
│   │   ├── requester_elided.go
│   │   ├── requester_iface.go
│   │   ├── requester_ns.go
│   │   ├── requester_ptr.go
│   │   ├── requester_ret_elided.go
│   │   ├── requester_slice.go
│   │   ├── requester_test.go
│   │   ├── requester_unexported.go
│   │   ├── requester_variadic.go
│   │   ├── same_name_imports.go
│   │   ├── struct_value.go
│   │   ├── struct_with_tag.go
│   │   ├── template_exercise/
│   │   │   └── exercise.go
│   │   ├── type_alias/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mocks_testify_type_alias_test.go
│   │   │   └── subpkg/
│   │   │       └── interface.go
│   │   ├── unexported/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── mocks_testify_unexported_test.go
│   │   ├── unsafe.go
│   │   ├── variadic.go
│   │   ├── variadic_return_func.go
│   │   ├── variadic_return_func_test.go
│   │   ├── variadic_with_multiple_returns.go
│   │   ├── variadic_with_multiple_returns_test.go
│   │   └── variadic_with_no_returns.go
│   ├── interface.go
│   ├── logging/
│   │   ├── logging.go
│   │   └── logging_test.go
│   ├── mock_matryer.templ
│   ├── mock_matryer.templ.schema.json
│   ├── mock_testify.templ
│   ├── mock_testify.templ.schema.json
│   ├── mockery_test.go
│   ├── node_visitor.go
│   ├── parse.go
│   ├── remote_template.go
│   ├── stackerr/
│   │   ├── stackerr.go
│   │   └── stackerr_test.go
│   ├── template_generator.go
│   └── template_generator_test.go
├── main.go
├── mkdocs.yml
├── mockery-tools.env
├── mocks_testify_main_test.go
├── template/
│   ├── README.md
│   ├── comment_group.go
│   ├── comments.go
│   ├── data.go
│   ├── interface.go
│   ├── interfaces.go
│   ├── method.go
│   ├── method_scope.go
│   ├── package.go
│   ├── packages.go
│   ├── param.go
│   ├── registry.go
│   ├── template.go
│   ├── template_data.go
│   ├── template_test.go
│   ├── type_param_data.go
│   └── var.go
├── template_funcs/
│   ├── funcmap.go
│   ├── funcmap_test.go
│   ├── functions.go
│   └── functions_test.go
└── tools/
    ├── cmd/
    │   ├── root.go
    │   └── tag.go
    ├── go.mod
    ├── go.sum
    ├── main.go
    └── tools.go

================================================
FILE CONTENTS
================================================

================================================
FILE: .boilerplate.txt
================================================
// TEST MOCKERY BOILERPLATE

================================================
FILE: .gitattributes
================================================
* text eol=lf
*.png -text
*.gif -text


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

## Description

A clear and concise description of what the bug is.

## Reproducer

Steps to reproduce the behavior.

## Expected behavior

A clear and concise description of what you expected to happen.

## Mockery version

`vX.Y.Z`

## Installation Mechanism

- [ ] `go get`
- [ ] Pre-built release
- [ ] homebrew
- [ ] Other: [please describe]

## Go version

Version of Go used to build mockery from source (if applicable).


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
Description
-------------

Please include a summary of the changes and the related issue. Please also include relevant motivation and context.

- Fixes # (issue)

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

Version of Go used when building/testing:
---------------------------------------------

- [ ] 1.22
- [ ] 1.23

How Has This Been Tested?
---------------------------

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Checklist
-----------

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes


================================================
FILE: .github/workflows/documentation.yml
================================================
name: documentation
on:
  push:
    branches: [ master, v3 ]
permissions:
  contents: write
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: 3.x
      - uses: actions/cache@v4
        with:
          key: v3-documentation-${{ runner.os }}-${{ steps.get-date.outputs.date }}
          path: .cache
      - run: sudo apt-get update && sudo apt-get install -y libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev
      - run: pip install -r docs/requirements.txt
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN }}
      - name: Setup doc deploy
        run: |
          git config --global user.name vektra-bot
          git config --global user.email vektra-bot@vektra.github.io
          git fetch origin gh-pages --depth=1
      - name: Deploy docs
        run: "mike deploy --push --update-aliases $(grep VERSION mockery-tools.env | cut -d'=' -f 2 | cut -d'.' -f1-2) latest latest-v3"
        env:
          GOOGLE_ANALYTICS_KEY: ${{ secrets.GOOGLE_ANALYTICS_KEY }}


================================================
FILE: .github/workflows/release.yml
================================================
name: "release"

on:
  workflow_dispatch:
    inputs:
      tag:
        description: "Tag to release"
        type: string
        required: true

  workflow_call:
    inputs:
      tag:
        description: "Tag to release"
        type: string
        required: true
    secrets:
        DOCKER_USERNAME:
          required: true
        DOCKER_PASSWORD:
          required: true
        GORELEASER_GITHUB_TOKEN:
          required: true
        GORELEASER_HOMEBREW_TAP_TOKEN:
          required: true

permissions:
  contents: write

jobs:
  release:
    runs-on: ubuntu-latest
    env:
      DOCKER_CLI_EXPERIMENTAL: "enabled"

    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: refs/tags/${{ inputs.tag }}

      - name: Set up Go
        uses: actions/setup-go@v4
        with:
          go-version: 'stable'

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v2

      - name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

      - name: GoReleaser
        uses: goreleaser/goreleaser-action@v2.7.0
        with:
          args: release --clean
          version: "<2"
        env:
          GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}
          HOMEBREW_TAP_TOKEN: ${{ secrets.GORELEASER_HOMEBREW_TAP_TOKEN }}
          GORELEASER_CURRENT_TAG: ${{ inputs.tag }}


================================================
FILE: .github/workflows/reusable-testing.yml
================================================
name: Reusable Go Test

on:
  workflow_call:
    inputs:
      ref:
        required: false
        type: string
        default: ""

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: ["macos-latest", "ubuntu-latest", "windows-latest"]
        go_vers: ["1.25", "1.26"]
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
          ref: ${{ inputs.ref }}

      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: ${{ matrix.go_vers }}

      - name: Download dependencies
        run: go mod download -x

      - name: Test
        run: go run github.com/go-task/task/v3/cmd/task test.ci


================================================
FILE: .github/workflows/tag-and-release.yml
================================================
name: Test and maybe create a new release

on:
  push:
    branches: [master, v3]
permissions:
  contents: write
jobs:
  test:
      uses: ./.github/workflows/reusable-testing.yml
  tag:
    runs-on: ubuntu-latest
    needs: test
    outputs:
      tag_result: ${{ steps.tag.outputs.tag_result }}
      requested_version: ${{ steps.tag.outputs.requested_version }}
      previous_version: ${{ steps.tag.outputs.previous_version }}
    steps:
      - run: sudo apt update && sudo apt install -y git && git --version
      - uses: actions/checkout@v2
        with:
          # We need entire history of tags
          fetch-depth: 0

      - name: Set up Go
        uses: actions/setup-go@v5
        with:
          go-version-file: ./tools/go.mod
          check-latest: true
          cache-dependency-path: "**/*.sum"

      - name: Install Task
        uses: arduino/setup-task@v2
        with:
          version: 3.x
          repo-token: ${{ secrets.GITHUB_TOKEN }}

      - name: Run tagging commands
        id: tag
        run: |
          set +e
          task -x tag 1>/tmp/versions.txt
          tag_result="$?"

          printf "versions: $(cat /tmp/versions.txt)\n"
          echo "requested_version=$(cut -d',' -f 1 /tmp/versions.txt)" >> $GITHUB_OUTPUT
          echo "previous_version=$(cut -d',' -f 2 /tmp/versions.txt)" >> $GITHUB_OUTPUT

          echo "tag_result=$tag_result" >> $GITHUB_OUTPUT
          # The range between 8 and 63 inclusive is reserved for custom
          # error codes that contain specific meaning.
          if [ $tag_result -lt 8 -o $tag_result -gt 63 ]; then
            exit $tag_result
          fi
          exit 0
      - name: Push tags
        run: task tag.push
        if: steps.tag.outputs.tag_result == 0

  release:
    needs: tag
    if: needs.tag.outputs.tag_result == 0
    uses: ./.github/workflows/release.yml
    secrets: inherit
    with:
      tag: ${{ needs.tag.outputs.requested_version }}


================================================
FILE: .github/workflows/testing-dispatch.yml
================================================
name: Go Test (manual run)

on:
  workflow_dispatch:
    inputs:
      ref:
          description: "Tag/commit to checkout."
          type: string
          required: true

jobs:
  test:
      uses: ./.github/workflows/reusable-testing.yml
      with:
        ref: ${{ inputs.ref }}

================================================
FILE: .github/workflows/testing.yml
================================================
name: Go Test

on:
  pull_request:
    branches: [ master, v3 ]

jobs:
  test:
      uses: ./.github/workflows/reusable-testing.yml

================================================
FILE: .gitignore
================================================
mockery.prof
dist
.idea
docs/ve
ve
.cache
coverage.txt
site/
.task/
tools/tools
*.lua


================================================
FILE: .golangci.yml
================================================
linters:
  # Disable all linters.
  # Default: false
  disable-all: true
  # Enable specific linter
  # https://golangci-lint.run/usage/linters/#enabled-by-default
  enable:
    - errcheck
    - gofumpt
    - gosimple
    - govet
    - ineffassign
    - staticcheck
    - typecheck
    - contextcheck
    - durationcheck
    - copyloopvar
    - gocheckcompilerdirectives
    - gosec
    - loggercheck
    - nilerr
    - prealloc
    - predeclared
    - reassign
    - revive
    - testifylint
linters-settings:
  revive:
    enable-all-rules: false
    rules:
      - name: 'var-naming'
  staticcheck:
    checks:
    - all
    - '-SA1024'
  testifylint:
    disable-all: true
    enable:
      - compares
      - empty
      - expected-actual
      - len
  gosimple:
    checks:
      - S1000
      - S1001
      - S1003
      - S1004
      - S1005
      - S1006
      - S1007
      - S1008
      - S1009
      - S1010
      - S1011
      - S1012
      - S1016
      - S1017
      - S1018
      - S1019
      - S1020
      - S1021
      - S1023
      - S1024
      - S1025
      - S1028
      - S1029
      - S1030
      - S1031
      - S1032
      - S1033
      - S1034
      - S1035
      - S1036
      - S1037
      - S1038
      - S1039
      - S1040
issues:
  exclude-rules:
    - linters:
        - revive
      text: "var-naming: don't use an underscore in package name"


================================================
FILE: .goreleaser.yml
================================================
---
project_name: mockery
before:
    hooks:
      - go mod download
builds:
  - main: ./main.go
    binary: mockery
    ldflags:
      - -s -w -X github.com/vektra/mockery/v3/internal/logging.SemVer=v{{.Version}}
    env:
      - CGO_ENABLED=0
    goos:
      - darwin
      - linux
      - windows
    goarch:
      - amd64
      - arm64
archives:
  - name_template: >-
      {{ .ProjectName }}_{{ .Version }}_{{- title .Os }}_
      {{- if eq .Arch "amd64" }}x86_64
      {{- else if eq .Arch "386" }}i386
      {{- else }}{{ .Arch }}{{ end }}
    files:
      - README.md
      - LICENSE
checksum:
    name_template: "checksum.txt"
snapshot:
    name_template: "{{ .Tag }}-next"
changelog:
    sort: asc
    use: github-native
dockers:
  - image_templates: ["vektra/mockery:{{ .Tag }}-amd64"]
    goarch: amd64
    dockerfile: Dockerfile
    use: buildx
    build_flag_templates:
      - "--pull"
      - "--label=org.opencontainers.image.created={{.Date}}"
      - "--label=org.opencontainers.image.name={{.ProjectName}}"
      - "--label=org.opencontainers.image.revision={{.FullCommit}}"
      - "--label=org.opencontainers.image.version={{.Version}}"
      - "--label=org.opencontainers.image.source={{.GitURL}}"
      - "--platform=linux/amd64"
  - image_templates: ["vektra/mockery:{{ .Tag }}-arm64"]
    goarch: arm64
    dockerfile: Dockerfile
    use: buildx
    build_flag_templates:
      - "--pull"
      - "--label=org.opencontainers.image.created={{.Date}}"
      - "--label=org.opencontainers.image.name={{.ProjectName}}"
      - "--label=org.opencontainers.image.revision={{.FullCommit}}"
      - "--label=org.opencontainers.image.version={{.Version}}"
      - "--label=org.opencontainers.image.source={{.GitURL}}"
      - "--platform=linux/arm64"
docker_manifests:
  - name_template: vektra/mockery:{{ .Tag }}
    image_templates:
      - vektra/mockery:{{ .Tag }}-amd64
      - vektra/mockery:{{ .Tag }}-arm64
  - name_template: vektra/mockery:{{ .Major }}
    image_templates:
      - vektra/mockery:{{ .Tag }}-amd64
      - vektra/mockery:{{ .Tag }}-arm64
  - name_template: vektra/mockery:{{ .Major }}.{{ .Minor }}
    image_templates:
      - vektra/mockery:{{ .Tag }}-amd64
      - vektra/mockery:{{ .Tag }}-arm64
  - name_template: vektra/mockery:latest
    image_templates:
      - vektra/mockery:{{ .Tag }}-amd64
      - vektra/mockery:{{ .Tag }}-arm64

release:
  prerelease: false
  make_latest: true

git:
  ignore_tags:
    - v2
    - v3
  prerelease_suffix: "-"


================================================
FILE: .mockery_matryer.yml
================================================
template: matryer
structname: "Moq{{.InterfaceName}}"
filename: "mocks_matryer_{{.SrcPackageName}}_test.go"
all: true
template-data:
  skip-ensure: False
  stub-impl: True
  with-resets: True
  boilerplate-file: "./.boilerplate.txt"
packages:
  github.com/vektra/mockery/v3/internal/fixtures:
    config:
      all: false
      include-interface-regex: '.*'
      exclude-interface-regex: 'RequesterGenerics'
    interfaces:
      Requester:
        configs:
          - structname: "Moq{{.InterfaceName}}SkipEnsure"
            template-data:
              skip-ensure: True
          - {}
          - structname: StubMatyer{{.InterfaceName}}
            template-data:
              stub-impl: True
  github.com/vektra/mockery/v3/internal/fixtures/empty_return:
    interfaces:
      EmptyReturn:
        configs:
          - structname: StubMatyer{{.InterfaceName}}
            template-data:
              stub-impl: True
  github.com/vektra/mockery/v3/internal/fixtures/output_dir:
    interfaces:
      OutputDirWithDifferentPkgName:
        config:
          dir: "{{.InterfaceDir}}/mock"
          pkgname: "mock"
      OutputDirWithSamePkgNameAsSrc:
        config:
          dir: "{{.InterfaceDir}}/output_dir"


================================================
FILE: .mockery_testify.yml
================================================
_anchors:
  foo: bar
template: "testify"
force-file-write: true
formatter: "goimports"
all: True
dir: "{{.InterfaceDirRelative}}"
structname: "{{.Mock}}{{.InterfaceName}}"
pkgname: "{{.SrcPackageName}}"
filename: "mocks_{{.Template}}_{{.SrcPackageName}}_test.go"
template-data:
  boilerplate-file: "./.boilerplate.txt"
packages:
  github.com/vektra/mockery/v3/internal/cmd:
  github.com/vektra/mockery/v3:
    config:
      dir: .
  github.com/vektra/mockery/v3/internal/fixtures/unexported:
  github.com/vektra/mockery/v3/internal/fixtures/buildtag/comment:
  github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type:
    config:
      recursive: True
    interfaces:
      RType:
        configs:
          - {}
          - structname: RTypeReplaced1
            replace-type:
              github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt1:
                RType1:
                  pkg-path: github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt2
                  type-name: RType2
  github.com/vektra/mockery/v3/internal/fixtures:
    interfaces:
      VariadicWithNoReturns:
        config:
          template-data:
            unroll-variadic: true   
      VariadicWithMultipleReturns:
        configs:
          - structname: MockVariadicWithMultipleReturnsUnrollVariadic
            template-data:
              unroll-variadic: true
          - structname: MockVariadicWithMultipleReturns
            template-data:
              unroll-variadic: false
      RequesterVariadic:
        configs:
          - structname: MockRequesterVariadicOneArgument
            template-data:
              unroll-variadic: False
          - structname: MockRequesterVariadic
            template-data:
              unroll-variadic: True
      Expecter:
        configs:
          - structname: MockExpecterAndRolledVariadic
            template-data:
              unroll-variadic: False
          - structname: MockExpecter
            template-data:
              unroll-variadic: True
      VariadicNoReturnInterface:
        config:
          template-data:
            unroll-variadic: False
  github.com/vektra/mockery/v3/internal/fixtures/recursive_generation:
    config:
      recursive: True
  github.com/vektra/mockery/v3/internal/fixtures/recursive_generation_with_subpkg_exclude:
    config:
      recursive: True
      filename: mocks.go
      exclude-subpkg-regex:
      - subpkg2
  github.com/vektra/mockery/v3/internal/fixtures/empty_return:
  github.com/vektra/mockery/v3/internal/fixtures/method_args/same_name_arg_and_type:
  github.com/vektra/mockery/v3/internal/fixtures/iface_typed_param:
  github.com/vektra/mockery/v3/internal/fixtures/iface_typed_param_lowercase:
  github.com/vektra/mockery/v3/internal/fixtures/example_project:
  github.com/vektra/mockery/v3/internal/fixtures/index_list_expr:
  github.com/vektra/mockery/v3/internal/fixtures/iface_new_type:
  github.com/vektra/mockery/v3/internal/fixtures/auto_generated_skip:
  github.com/vektra/mockery/v3/internal/fixtures/type_alias:
  io:
    config:
      all: True
      dir: internal/fixtures/
      pkgname: test
      filename: mocks_io_test.go
  net/http:
    config:
      all: false
      dir: internal/fixtures/
      pkgname: test
      filename: mocks_net_http_test.go
    interfaces:
      ResponseWriter:
  github.com/vektra/mockery/v3/internal/fixtures/inpackage:
    config:
      dir: "{{.InterfaceDirRelative}}/subpkg"
      inpackage: true
      template-data:
        # Set a build tag that won't be picked up by tests. The generated
        # mock file is going to be invalid due to the inpackage: true 
        # config.
        mock-build-tags: nobuild
  github.com/vektra/mockery/v3/internal/fixtures/include_auto_generated:
    config:
      include-auto-generated: true
  github.com/vektra/mockery/v3/internal/fixtures/multi_template:
    config:
      template: testify
    interfaces:
      Foo:
        configs:
          - structname: MockTestifyFoo
            template: testify
          - structname: MockMatryerFoo
            template: matryer
  github.com/vektra/mockery/v3/internal/fixtures/replace_type_pointers:
    interfaces:
      InterfaceWithPointers:
        config:
          replace-type:
            github.com/vektra/mockery/v3/internal/fixtures/replace_type_pointers:
              Foo:
                pkg-path: github.com/vektra/mockery/v3/internal/fixtures/replace_type_pointers
                type-name: Bar
  github.com/vektra/mockery/v3/internal/fixtures/directive_comments:
    config:
      all: False
    interfaces:
      MatryerRequester:
        config:
          structname: TheMatryerRequester
      InterfaceWithoutGenerate:
      ServerWithDifferentFile:
        configs:
          - structname: FunServerWithDifferentFile
          - structname: AnotherFunServerWithDifferentFile
  github.com/vektra/mockery/v3/internal/fixtures/constraint_ifaces:
  github.com/vektra/mockery/v3/internal/fixtures/interface_dir_relative:
    config:
      filename: mocks.go
    interfaces:
      Foo:
        configs:
          # This first option simply asserts that InterfaceDirRelative is an actual path. https://github.com/vektra/mockery/issues/1133
          - dir: '{{.InterfaceDir}}/{{  replaceAll "internal/" "" (index (splitAfterN "/" 2 .InterfaceDirRelative) 0) }}/mocks/{{index (splitAfterN "/" 2 .InterfaceDirRelative) 1}}'
          # The second option asserts that the value itself is sane. https://github.com/vektra/mockery/issues/1133#issuecomment-3758283921
          # This mock will be explicitly tested against so that we can assert in tests that the value
          # does not encounter breaking changes.
          - dir: '{{.InterfaceDir}}/{{.InterfaceDirRelative}}'

================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
  and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
  overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
  advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
  address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
  professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
landonclipp@gmail.com.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior,  harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

Thank you for investing your time in contributing to our project!

Read our [Code of Conduct](https://github.com/vektra/mockery/blob/master/CODE_OF_CONDUCT.md) to keep our community approachable and respectable.

## Local development setup

All of the local development tools are go-based and are versioned in our go.mod file. Simply call `go download -x` to initialize and download all of our tooling.

This project uses Taskfile, a better alternative to Makefile. Run `task -l` for list of valid targets.

## Working with documentation

We use [mkdocs](https://www.mkdocs.org/) with the [mkdocs-material theme](https://squidfunk.github.io/mkdocs-material/).

To preview the documentation locally, run `task mkdocs.serve`. The task will install the required mkdocs plugins and theme
and run the mkdocs server with real-time updating/refreshing.

## Submitting PRs

Before submitting PRs, it's strongly recommended you create an issue to discuss the problem, and possible solutions. PRs added without any discussion run the risk of not being accepted, which is a waste of your time. Issues marked with `approved feature` are features that the maintainers are willing to accept into the code, and are approved for development. PRs that implement an `approved feature` have a high likelihood of being accepted.


================================================
FILE: Dockerfile
================================================
FROM golang:1.26-alpine as builder

RUN apk --update add --no-cache gcc musl-dev git openssh

COPY mockery /usr/local/bin

# Explicitly set a writable cache path when running --user=$(id -u):$(id -g)
# see: https://github.com/golang/go/issues/26280#issuecomment-445294378
ENV GOCACHE /tmp/.cache

ENTRYPOINT ["/usr/local/bin/mockery"]


================================================
FILE: LICENSE
================================================
Copyright (c) 2014, Opinionated Architecture
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of the {organization} nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



================================================
FILE: README.md
================================================

mockery
=======
[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/vektra/mockery/v3/template) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/vektra/mockery) ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/vektra/mockery) [![Go Report Card](https://goreportcard.com/badge/github.com/vektra/mockery/v3)](https://goreportcard.com/report/github.com/vektra/mockery/v3) [![codecov](https://codecov.io/gh/vektra/mockery/branch/master/graph/badge.svg)](https://codecov.io/gh/vektra/mockery)

mockery provides the ability to easily generate mocks for Golang interfaces using the [stretchr/testify/mock](https://pkg.go.dev/github.com/stretchr/testify/mock?tab=doc) package. It removes the boilerplate coding required to use mocks.

Documentation
--------------

Documentation is found at our [GitHub Pages site](https://vektra.github.io/mockery/).

Development
------------

taskfile.dev is used for build tasks. Initialize all go build tools:

```
go mod download -x
```

You can run any of the steps listed in `Taskfile.yml`:

```
$ task test
task: [test] go test -v -coverprofile=coverage.txt ./...
```

Stargazers
----------

[![Stargazers over time](https://starchart.cc/vektra/mockery.svg)](https://starchart.cc/vektra/mockery)


================================================
FILE: Taskfile.yml
================================================
version: "3"

tasks:
  coverage:
    deps: [test]
    desc: run unit tests and create HTML coverage file
    cmds:
      - go tool cover -html=coverage.txt

  fmt:
    desc: auto-format all go files
    sources:
      - "**/*.go"
    cmds:
      - gofumpt -l -w .

  mocks:
    desc: generate new mocks from scratch
    cmds:
      - task: mocks.remove
      - task: mocks.generate

  mocks.remove:
    desc: remove all mock files
    deps:
      - mocks.remove.windows
      - mocks.remove.unix

  mocks.remove.windows:
    desc: remove all mock files on windows
    platforms: ["windows"]
    cmds:
      - rm -f files.txt
      - where /r . '*_mock.go' > files.txt           || true
      - where /r . 'mock_*_test.go' >> files.txt     || true
      - where /r . 'mocks_moq.go' >> files.txt       || true
      - where /r . 'mocks_test.go' >> files.txt      || true
      - where /r . 'mocks_*_test.go' >> files.txt    || true
      - where /r . 'mocks_matryer_*.go' >> files.txt || true
      - where /r . 'mocks.go' >> files.txt           || true
      - powershell -Command 'foreach ($file in Get-Content "files.txt") { If (Test-Path $file) {Remove-Item $file} }'
      - rm -rf mocks/
      - rm -f files.txt


  mocks.remove.unix:
    desc: remove all mock files on unix
    platforms: ["darwin", "linux"]
    cmds:
      - find . -name '*_mock.go' -o -name 'mock_*_test.go' -o -name "mocks_moq.go"  -o -name 'mocks_test.go' -o -name 'mocks_*_test.go' -o -name 'mocks_matryer_*.go' -o -name 'mocks.go' | xargs -r rm
      - rm -rf mocks/

  mocks.generate.custom:
    cmds:
      - go run .

  mocks.generate.testify:
    desc: Generate testify mocks
    cmds:
      - MOCKERY_CONFIG=./.mockery_testify.yml go run .

  mocks.generate.matryer:
    desc: Generate matryer mocks
    cmds:
      - MOCKERY_CONFIG=./.mockery_matryer.yml go run .

  mocks.generate:
    desc: generate mocks
    deps:
      - mocks.generate.testify
      - mocks.generate.matryer

  git-state:
    desc: Check for a dirty git git-state
    cmds:
      - git diff --exit-code

  docker:
    desc: build the mockery docker image
    cmds:
      - docker build -t vektra/mockery .

  mkdocs.install:
    desc: install mkdocs and plugins
    sources:
      - "docs/requirements.txt"
    cmds:
      - pip install -r docs/requirements.txt

  mkdocs.serve:
    desc: serve mkdocs locally
    deps: [mkdocs.install]
    cmds:
      - mkdocs serve

  lint:
    desc: run all the defined linters
    sources:
      - "**/*.go"
    cmds:
      - go run github.com/golangci/golangci-lint/cmd/golangci-lint run

  test:
    cmds:
      - go run gotest.tools/gotestsum --format testname -- -v -coverprofile=coverage.txt ./internal/... ./template_funcs/... ./template/...
    desc: run unit tests
    generates:
      - coverage.txt

  test.e2e:
    desc: run end-to-end tests
    cmds:
      - bash ./e2e/run_all.sh
      - go run gotest.tools/gotestsum --format testname -- -v -count=1 ./e2e/...

  test.ci:
    deps: [lint]
    cmds:
      - task: mocks
      - task: git-state
      - task: test
      - task: mocks.remove
      - task: test.e2e

  default:
    deps: [test.ci]

  build-tools:
    desc: Build tools directory
    cmds:
    - cd ./tools && go build -o tools .

  tag:
    desc: Tag the git repo with the version specified.
    deps: [build-tools]
    cmds:
    - ./tools/tools tag --dry-run=false

  tag.push:
    desc: Push tags to origin
    cmds:
    - git push origin --tags --force


================================================
FILE: codecov.yml
================================================
coverage:
  precision: 5
  round: down
  range: "00...100"
  status:
    patch:
      default:
        target: 40%
        threshold: 35%
        base: auto 



================================================
FILE: config/README.md
================================================
Config
------

The `config` package provides mockery configuration semantics and behaviors. The [`RootConfig`](https://pkg.go.dev/github.com/vektra/mockery/v3/config#RootConfig) type defines the schema for the top-level `.mockery.yml` file.


================================================
FILE: config/config.go
================================================
// Package config defines the schemas and functionality of the .mockery.yml
// config files. This package is NOT meant to be used by external Go libraries.
// We expose the contents of this package purely for documentation purposes.
//
// Do NOT import this package. We cannot guarantee backwards-compatibility of
// the methods herein.
package config

import (
	"bytes"
	"context"
	"fmt"
	"go/ast"
	"os"
	"path/filepath"
	"reflect"
	"regexp"
	"strconv"
	"strings"
	"text/template"

	"github.com/brunoga/deep"
	"github.com/go-viper/mapstructure/v2"
	koanfYAML "github.com/knadh/koanf/parsers/yaml"
	"github.com/knadh/koanf/providers/env"
	"github.com/knadh/koanf/providers/file"
	"github.com/knadh/koanf/providers/posflag"
	"github.com/knadh/koanf/providers/structs"
	"github.com/knadh/koanf/v2"
	"github.com/rs/zerolog"
	"github.com/spf13/pflag"
	internalConfig "github.com/vektra/mockery/v3/internal/config"
	"github.com/vektra/mockery/v3/internal/logging"
	"github.com/vektra/mockery/v3/internal/stackerr"
	"github.com/vektra/mockery/v3/template_funcs"
	"golang.org/x/tools/go/packages"
	"golang.org/x/tools/imports"
	"gopkg.in/yaml.v3"
)

// TemplateData is the data sent to the template for the config file.
type TemplateData struct {
	// ConfigDir is the directory of where the mockery config file is located.
	ConfigDir string
	// InterfaceDir is the directory of the interface being mocked.
	InterfaceDir string
	// InterfaceDirRelative is the same as InterfaceDir, but made relative to mockery's current working directory.
	InterfaceDirRelative string
	// InterfaceFile is the filename of where the interface is defined.
	InterfaceFile string
	// InterfaceName is the name of the interface (duh).
	InterfaceName string
	// Mock is a parameter that takes the value of "Mock" if the interface is exported, and "mock" otherwise.
	Mock string
	// StructName is the configured name of the mock.
	StructName string
	// SrcPackageName is the name of the source package as defined by the `package [name]` in the source package.
	SrcPackageName string
	// SrcPackagePath is the fully qualified package path of the source package. e.g. "github.com/vektra/mockery/v3".
	SrcPackagePath string
	// Template is the value of the `template` parameter.
	Template string
}

func addr[T any](v T) *T {
	return &v
}

func deref[T any](t *T) T {
	if t == nil {
		return *new(T)
	}

	return *t
}

func NewDefaultKoanf(ctx context.Context) (*koanf.Koanf, error) {
	c := Config{
		All:                         addr(false),
		Anchors:                     map[string]any{},
		Dir:                         addr("{{.InterfaceDir}}"),
		FileName:                    addr("mocks_test.go"),
		ForceFileWrite:              addr(true),
		Formatter:                   addr("goimports"),
		FormatterOptions:            defaultFormatterOptions(),
		Generate:                    addr(true),
		IncludeAutoGenerated:        addr(false),
		LogLevel:                    addr("info"),
		StructName:                  addr("{{.Mock}}{{.InterfaceName}}"),
		PkgName:                     addr("{{.SrcPackageName}}"),
		Recursive:                   addr(false),
		RequireTemplateSchemaExists: addr(true),
		Template:                    addr("testify"),
		TemplateData:                map[string]any{},
		TemplateSchema:              addr("{{.Template}}.schema.json"),
	}
	k := koanf.New("|")
	if err := k.Load(structs.Provider(c, "koanf"), nil); err != nil {
		return nil, stackerr.NewStackErr(err)
	}
	return k, nil
}

func defaultFormatterOptions() *FormatterOptions {
	return &FormatterOptions{
		// Matches goimports defaults:
		// https://cs.opensource.google/go/x/tools/+/refs/tags/v0.41.0:imports/forward.go;l=53
		GoImports: &GoImports{
			AllErrors:   addr(false),
			Comments:    addr(true),
			FormatOnly:  addr(true),
			Fragment:    addr(false),
			LocalPrefix: addr(""),
			TabIndent:   addr(true),
			TabWidth:    addr(8),
		},
	}
}

type RootConfig struct {
	Config     `koanf:",squash" yaml:",inline"`
	Packages   map[string]*PackageConfig `koanf:"packages" yaml:"packages"`
	koanf      *koanf.Koanf
	configFile string
}

func NewRootConfig(
	ctx context.Context,
	flags *pflag.FlagSet,
) (*RootConfig, *koanf.Koanf, error) {
	var configFile string

	log := zerolog.Ctx(ctx)
	var err error

	conf := &Config{}
	// Set all parameters to their respective zero-values. Need to use
	// reflection for this sadly.
	v := reflect.ValueOf(conf).Elem()
	for i := 0; i < v.NumField(); i++ {
		field := v.Field(i)
		if field.Kind() != reflect.Pointer {
			continue
		}
		if !field.IsNil() {
			continue
		}
		field.Set(reflect.New(field.Type().Elem()))
	}

	// There are some special cases where the default value of pointers
	// should be set to nil.
	conf.InPackage = nil

	k, err := NewDefaultKoanf(ctx)
	if err != nil {
		return nil, nil, err
	}
	var rootConfig RootConfig = RootConfig{
		Config: *conf,
		koanf:  k,
	}

	configFileFromEnv := os.Getenv("MOCKERY_CONFIG")
	if configFileFromEnv != "" {
		configFile = configFileFromEnv
	}
	if configFile == "" {
		configFileFromFlags, err := flags.GetString("config")
		if err != nil {
			return nil, nil, fmt.Errorf("getting --config from flags: %w", err)
		}
		if configFileFromFlags != "" {
			configFile = configFileFromFlags
		}
	}
	if configFile == "" {
		log.Debug().Msg("config file not specified, searching")
		configFile, err = internalConfig.FindConfig()
		if err != nil {
			return nil, k, fmt.Errorf("discovering mockery config: %w", err)
		}
		log.Debug().Str("config-file", configFile).Msg("config file found")
	}
	rootConfig.configFile = configFile

	koanfTags := conf.koanfTagNames()
	if err := k.Load(
		env.ProviderWithValue(
			"MOCKERY_",
			".",
			func(key, value string) (string, any) {
				normalizedKey := strings.Replace(strings.ToLower(strings.TrimPrefix(key, "MOCKERY_")), "_", "-", -1)
				if _, exists := koanfTags[normalizedKey]; !exists {
					log.Debug().Str("env-var", key).Msg("environment variable unknown, not including in config map.")
					return "", nil
				}

				// Loading from environment variables is kind of weird. Koanf doesn't seem to
				// have a good way to automatically convert values destined for boolean fields
				// without resorting to reflection. We do something gross here by
				// just checking to see if the string "looks" like it should be
				// a boolean. The proper solution is to use reflection on the destination
				// struct to see what the type actually should be cast to. I'm sure
				// the koanf project would appreciate a PR to add an environment
				// parser:
				if strings.ToLower(value) == "true" || strings.ToLower(value) == "false" {
					valueAsBool, err := strconv.ParseBool(value)
					if err != nil {
						panic(err)
					}
					return normalizedKey, valueAsBool
				}
				return normalizedKey, value
			}),
		nil,
	); err != nil {
		log.Err(err).Msg("failed to load environment provider")
		return nil, nil, stackerr.NewStackErr(err)
	}

	if err := k.Load(file.Provider(configFile), koanfYAML.Parser()); err != nil {
		return nil, k, fmt.Errorf("loading config file: %w", err)
	}

	if flags != nil {
		if err := k.Load(posflag.Provider(flags, ".", k), nil); err != nil {
			return nil, k, fmt.Errorf("loading flags: %w", err)
		}
	}

	// Second argument is nil because of a weird bug: https://github.com/knadh/koanf/issues/307
	if err := k.UnmarshalWithConf("", &rootConfig, koanf.UnmarshalConf{
		DecoderConfig: &mapstructure.DecoderConfig{
			ErrorUnused: true,
		},
	}); err != nil {
		return nil, k, fmt.Errorf("unmarshalling config: %w", err)
	}
	if err := rootConfig.Initialize(ctx); err != nil {
		return nil, k, fmt.Errorf("initializing root config: %w", err)
	}
	return &rootConfig, k, nil
}

func (c *RootConfig) ConfigFileUsed() string {
	return c.configFile
}

// mergreStringMaps merges two (possibly nested) maps.
func mergeStringMaps(src, dest map[string]any) {
	for srcKey, srcValue := range src {
		if destValue, exists := dest[srcKey]; exists {
			// If the source value is a map, merge recursively
			if destMap, ok := destValue.(map[string]any); ok {
				if srcMap, ok := srcValue.(map[string]any); ok {
					mergeStringMaps(srcMap, destMap)
					continue
				}
			}
			continue
		}
		// Otherwise, set the value directly
		dest[srcKey] = srcValue
	}
}

// mergeConfigs merges the values from c1 into c2.
func mergeConfigs(ctx context.Context, src Config, dest *Config) {
	log := zerolog.Ctx(ctx)
	// Merge root config with package config
	srcValue := reflect.ValueOf(src)
	destValue := reflect.ValueOf(dest)

	for i := 0; i < srcValue.NumField(); i++ {
		fieldLog := log.With().
			Int("index", i).
			Str("name", srcValue.Type().Field(i).Name).
			Logger()
		fieldLog.Debug().Msg("Iterating over field for merging")
		srcFieldValue := srcValue.Field(i)
		destFieldValue := destValue.Elem().Field(i)

		if srcFieldValue.Kind() == reflect.Map {
			srcMap, ok := srcFieldValue.Interface().(map[string]any)
			if !ok {
				log.Debug().Msg("field value is not `any`, skipping merge")
				continue
			}
			destMap, ok := destFieldValue.Interface().(map[string]any)
			if !ok {
				log.Debug().Msg("dest map value is not `any`, skipping")
				continue
			}
			if destMap == nil {
				destFieldValue.Set(reflect.ValueOf(make(map[string]any)))
			}
			destMap = destFieldValue.Interface().(map[string]any)
			mergeStringMaps(srcMap, destMap)
		} else if srcFieldValue.Kind() == reflect.Pointer && srcFieldValue.IsNil() {
			// Do nothing, the src field is nil
		} else if srcFieldValue.Kind() == reflect.Pointer && destFieldValue.IsNil() {
			// Attribute is a pointer. We need to allocate a new value of the
			// same type as the type being pointed to.
			newValue := reflect.New(srcFieldValue.Elem().Type())
			// Then, set this new value to the same value as the src.
			newValue.Elem().Set(srcFieldValue.Elem())
			// newValue is already an address, so we can set destFieldValue
			// to it as-is.
			destFieldValue.Set(newValue)
		} else if destFieldValue.CanSet() && destFieldValue.IsZero() {
			destFieldValue.Set(srcFieldValue)
		} else {
			fieldLog.Debug().
				Bool("can-set", destFieldValue.CanSet()).
				Bool("is-zero", destFieldValue.IsZero()).
				Msg("field not addressable, not merging.")
		}
	}
}

func (c *RootConfig) Initialize(ctx context.Context) error {
	log := zerolog.Ctx(ctx)
	recursivePackages := []string{}
	for pkgName, pkgConfig := range c.Packages {
		if pkgConfig == nil {
			pkgConfig = NewPackageConfig()
			c.Packages[pkgName] = pkgConfig
		}
		if pkgConfig.Config == nil {
			pkgConfig.Config = &Config{}
		}
		if pkgConfig.Interfaces == nil {
			pkgConfig.Interfaces = map[string]*InterfaceConfig{}
		}
		pkgLog := log.With().Str("package-path", pkgName).Logger()
		pkgCtx := pkgLog.WithContext(ctx)

		mergeConfigs(pkgCtx, c.Config, pkgConfig.Config)
		if err := pkgConfig.Initialize(pkgCtx); err != nil {
			return fmt.Errorf("initializing root config: %w", err)
		}
		if *pkgConfig.Config.Recursive {
			recursivePackages = append(recursivePackages, pkgName)
		}
	}

	for _, recursivePackageName := range recursivePackages {
		pkgLog := log.With().Str(logging.LogKeyPackagePath, recursivePackageName).Logger()
		pkgCtx := pkgLog.WithContext(ctx)
		pkgLog.Debug().Msg("package marked as recursive")

		subpkgs, err := c.subPackages(recursivePackageName)
		if err != nil {
			return fmt.Errorf("discovering sub packages of %s: %w", recursivePackageName, err)
		}
		parentPkgConfig := c.Packages[recursivePackageName]
		for _, subpkg := range subpkgs {
			recursivePkgConfig, err := c.GetPackageConfig(ctx, recursivePackageName)
			if err != nil {
				return fmt.Errorf("getting package config: %w", err)
			}
			if recursivePkgConfig.Config.ShouldExcludeSubpkg(subpkg) {
				pkgLog.Debug().Msg("package was marked for exclusion")
				continue
			}
			var subPkgConfig *PackageConfig
			if existingSubPkg, exists := c.Packages[subpkg]; exists {
				subPkgConfig = existingSubPkg
			} else {
				subPkgConfig = NewPackageConfig()
			}
			mergeConfigs(pkgCtx, *parentPkgConfig.Config, subPkgConfig.Config)
			c.Packages[subpkg] = subPkgConfig
		}
	}
	return nil
}

func (c *RootConfig) subPackages(pkgPath string) ([]string, error) {
	pkgs, err := packages.Load(&packages.Config{
		Mode: packages.NeedName | packages.NeedFiles,
	}, pkgPath+"/...")
	if err != nil {
		return nil, fmt.Errorf("failed to load packages: %w", err)
	}

	convertPkgPath := func(pkgs []*packages.Package) []string {
		paths := make([]string, 0, len(pkgs))
		for _, pkg := range pkgs {
			if len(pkg.GoFiles) == 0 {
				continue
			}
			paths = append(paths, pkg.PkgPath)
		}
		return paths
	}

	return convertPkgPath(pkgs), nil
}

func (c *RootConfig) GetPackageConfig(ctx context.Context, pkgPath string) (*PackageConfig, error) {
	pkgConfig, ok := c.Packages[pkgPath]
	if !ok {
		return nil, stackerr.NewStackErr(fmt.Errorf("package %s does not exist in the config", pkgPath))
	}
	return pkgConfig, nil
}

// GetPackages returns a list of the packages that are defined in
// the `packages` config section.
func (c *RootConfig) GetPackages(ctx context.Context) ([]string, error) {
	packages := []string{}
	for key := range c.Packages {
		packages = append(packages, key)
	}
	return packages, nil
}

type PackageConfig struct {
	Config     *Config                     `koanf:"config" yaml:"config,omitempty"`
	Interfaces map[string]*InterfaceConfig `koanf:"interfaces" yaml:"interfaces,omitempty"`
}

func NewPackageConfig() *PackageConfig {
	return &PackageConfig{
		Config:     &Config{},
		Interfaces: map[string]*InterfaceConfig{},
	}
}

func (c *PackageConfig) Initialize(ctx context.Context) error {
	for idx, ifaceConfig := range c.Interfaces {
		if ifaceConfig == nil {
			ifaceConfig = NewInterfaceConfig()
			c.Interfaces[idx] = ifaceConfig
		}
		if ifaceConfig.Config == nil {
			ifaceConfig.Config = &Config{}
		}
		mergeConfigs(ctx, *c.Config, ifaceConfig.Config)
		if err := ifaceConfig.Initialize(ctx); err != nil {
			return fmt.Errorf("initializing package config: %w", err)
		}
	}
	return nil
}

func (c PackageConfig) GetInterfaceConfig(ctx context.Context, interfaceName string, directiveConfig *Config) (*InterfaceConfig, error) {
	// If the interface has an explicit config, override it with the directive config.
	// This favor any config set in the directive comment over the original file based config.
	if ifaceConfig, ok := c.Interfaces[interfaceName]; ok {
		if directiveConfig != nil {
			newConfig, err := deep.Copy(directiveConfig)
			if err != nil {
				return nil, fmt.Errorf("cloning directive config: %w", err)
			}

			// Merge the interface config into the directive config clone.
			mergeConfigs(ctx, *ifaceConfig.Config, newConfig)

			ifaceConfig.Config = newConfig

			for i, subCfg := range ifaceConfig.Configs {
				newConfig, err := deep.Copy(directiveConfig)
				if err != nil {
					return nil, fmt.Errorf("cloning directive config: %w", err)
				}

				// Merge the interface config into the directive config clone.
				mergeConfigs(ctx, *subCfg, newConfig)
				ifaceConfig.Configs[i] = newConfig
			}
		}

		return ifaceConfig, nil
	}

	// We don't have a specific config for this interface,
	// we should create a new one.
	ifaceConfig := NewInterfaceConfig()

	// If there is a directive config, use it as the base config.
	if directiveConfig != nil {
		newConfig, err := deep.Copy(directiveConfig)
		if err != nil {
			return nil, fmt.Errorf("cloning directive config: %w", err)
		}
		ifaceConfig.Config = newConfig
	}

	// Finally, merge the package config into the new config
	mergeConfigs(ctx, *c.Config, ifaceConfig.Config)

	ifaceConfig.Configs = []*Config{ifaceConfig.Config}
	return ifaceConfig, nil
}

func (c PackageConfig) ShouldGenerateInterface(
	ctx context.Context,
	interfaceName string,
	ifaceConfig Config,
	hasDirectiveComment bool,
) (bool, error) {
	log := zerolog.Ctx(ctx)
	if hasDirectiveComment {
		if ifaceConfig.Generate != nil && !*ifaceConfig.Generate {
			log.Debug().Msg("interface has directive comment with generate: false, skipping generation")
			return false, nil
		}
		log.Debug().Msg("interface has directive comment, generating mock")
		return true, nil
	}
	if *c.Config.All {
		if *c.Config.IncludeInterfaceRegex != "" {
			log.Warn().Msg("interface config has both `all` and `include-interface-regex` set: `include-interface-regex` will be ignored")
		}
		if *c.Config.ExcludeInterfaceRegex != "" {
			log.Warn().Msg("interface config has both `all` and `exclude-interface-regex` set: `exclude-interface-regex` will be ignored")
		}
		log.Debug().Msg("`all: true` is set, interface should be generated")
		return true, nil
	}

	if _, exists := c.Interfaces[interfaceName]; exists {
		return true, nil
	}

	includeRegex := *c.Config.IncludeInterfaceRegex
	excludeRegex := *c.Config.ExcludeInterfaceRegex
	if includeRegex == "" {
		if excludeRegex != "" {
			log.Warn().Msg("interface config has `exclude-interface-regex` set but not `include-interface-regex`: `exclude-interface-regex` will be ignored")
		}
		return false, nil
	}
	includedByRegex, err := regexp.MatchString(includeRegex, interfaceName)
	if err != nil {
		return false, fmt.Errorf("evaluating `include-interface-regex`: %w", err)
	}
	if !includedByRegex {
		log.Debug().Msg("interface does not match include-interface-regex")
		return false, nil
	}
	log.Debug().Msg("interface matches include-interface-regex")
	if excludeRegex == "" {
		return true, nil
	}
	excludedByRegex, err := regexp.MatchString(excludeRegex, interfaceName)
	if err != nil {
		return false, fmt.Errorf("evaluating `exclude-interface-regex`: %w", err)
	}
	if excludedByRegex {
		log.Debug().Msg("interface matches exclude-interface-regex")
		return false, nil
	}
	log.Debug().Msg("interface does not match exclude-interface-regex")
	return true, nil
}

type InterfaceConfig struct {
	Config  *Config   `koanf:"config" yaml:"config,omitempty"`
	Configs []*Config `koanf:"configs" yaml:"configs,omitempty"`
}

func NewInterfaceConfig() *InterfaceConfig {
	return &InterfaceConfig{
		Config:  &Config{},
		Configs: []*Config{},
	}
}

func (c *InterfaceConfig) Initialize(ctx context.Context) error {
	if len(c.Configs) == 0 {
		c.Configs = []*Config{c.Config}
	} else {
		for _, subCfg := range c.Configs {
			mergeConfigs(ctx, *c.Config, subCfg)
		}
	}

	return nil
}

type ReplaceType struct {
	PkgPath  string `koanf:"pkg-path" yaml:"pkg-path,omitempty"`
	TypeName string `koanf:"type-name" yaml:"type-name,omitempty"`
}

type GoImports struct {
	AllErrors   *bool   `koanf:"all-errors" yaml:"all-errors,omitempty"`
	Comments    *bool   `koanf:"comments" yaml:"comments,omitempty"`
	FormatOnly  *bool   `koanf:"format-only" yaml:"format-only,omitempty"`
	Fragment    *bool   `koanf:"fragment" yaml:"fragment,omitempty"`
	LocalPrefix *string `koanf:"local-prefix" yaml:"local-prefix,omitempty"`
	TabIndent   *bool   `koanf:"tab-indent" yaml:"tab-indent,omitempty"`
	TabWidth    *int    `koanf:"tab-width" yaml:"tab-width,omitempty"`
}

func (g *GoImports) GetLocalPrefix() string {
	return deref(g.LocalPrefix)
}

func (g *GoImports) Options() *imports.Options {
	return &imports.Options{
		AllErrors:  deref(g.AllErrors),
		Comments:   deref(g.Comments),
		FormatOnly: deref(g.FormatOnly),
		Fragment:   deref(g.Fragment),
		TabIndent:  deref(g.TabIndent),
		TabWidth:   deref(g.TabWidth),
	}
}

type FormatterOptions struct {
	GoImports *GoImports `koanf:"goimports" yaml:"goimports,omitempty"`
}

type Config struct {
	All                   *bool          `koanf:"all" yaml:"all,omitempty"`
	Anchors               map[string]any `koanf:"_anchors" yaml:"_anchors,omitempty"`
	BuildTags             *string        `koanf:"build-tags" yaml:"build-tags,omitempty"`
	ConfigFile            *string        `koanf:"config" yaml:"config,omitempty"`
	Dir                   *string        `koanf:"dir" yaml:"dir,omitempty"`
	ExcludeSubpkgRegex    []string       `koanf:"exclude-subpkg-regex" yaml:"exclude-subpkg-regex,omitempty"`
	ExcludeInterfaceRegex *string        `koanf:"exclude-interface-regex" yaml:"exclude-interface-regex,omitempty"`
	FileName              *string        `koanf:"filename" yaml:"filename,omitempty"`
	// ForceFileWrite controls whether mockery will overwrite existing files when generating mocks. This is by default set to false.
	ForceFileWrite        *bool             `koanf:"force-file-write" yaml:"force-file-write,omitempty"`
	Formatter             *string           `koanf:"formatter" yaml:"formatter,omitempty"`
	FormatterOptions      *FormatterOptions `koanf:"formatter-options" yaml:"formatter-options,omitempty"`
	Generate              *bool             `koanf:"generate" yaml:"generate,omitempty"`
	IncludeAutoGenerated  *bool             `koanf:"include-auto-generated" yaml:"include-auto-generated,omitempty"`
	IncludeInterfaceRegex *string           `koanf:"include-interface-regex" yaml:"include-interface-regex,omitempty"`
	InPackage             *bool             `koanf:"inpackage" yaml:"inpackage,omitempty"`
	LogLevel              *string           `koanf:"log-level" yaml:"log-level,omitempty"`
	StructName            *string           `koanf:"structname" yaml:"structname,omitempty"`
	PkgName               *string           `koanf:"pkgname" yaml:"pkgname,omitempty"`
	Recursive             *bool             `koanf:"recursive" yaml:"recursive,omitempty"`
	// ReplaceType is a nested map of format map["package path"]["type name"]*ReplaceType
	ReplaceType map[string]map[string]*ReplaceType `koanf:"replace-type" yaml:"replace-type,omitempty"`
	// RequireTemplateSchemaExists sets whether mockery will fail if the specified
	// template did not have an associated JSON schema.
	RequireTemplateSchemaExists *bool          `koanf:"require-template-schema-exists" yaml:"require-template-schema-exists,omitempty"`
	Template                    *string        `koanf:"template" yaml:"template,omitempty"`
	TemplateData                map[string]any `koanf:"template-data" yaml:"template-data,omitempty"`
	// TemplateSchema is the URL of the template's JSON schema.
	TemplateSchema *string `koanf:"template-schema" yaml:"template-schema,omitempty"`
}

func (c Config) koanfTagNames() map[string]struct{} {
	tags := map[string]struct{}{}
	t := reflect.TypeOf(c)

	for i := 0; i < t.NumField(); i++ {
		field := t.Field(i)
		tag := field.Tag.Get("koanf")
		if tag != "" && tag != "-" {
			tags[tag] = struct{}{}
		}
	}
	return tags
}

func (c *Config) FilePath() string {
	return filepath.ToSlash(filepath.Clean(filepath.Join(*c.Dir, *c.FileName)))
}

func (c *Config) ShouldExcludeSubpkg(pkgPath string) bool {
	for _, regex := range c.ExcludeSubpkgRegex {
		matched, err := regexp.MatchString(regex, pkgPath)
		if err != nil {
			panic(err)
		}
		if matched {
			return true
		}
	}
	return false
}

var ErrInfiniteLoop = fmt.Errorf("infinite loop in template variables detected")

// ParseTemplates parses various templated strings
// in the config struct into their fully defined values. This mutates
// the config object passed. An *Interface object can be supplied to satisfy
// template variables that need information about the original
// interface being mocked. If this argument is nil, interface-specific template
// variables will be set to the empty string. The srcPkg is also needed to
// satisfy template variables regarding the source package.
func (c *Config) ParseTemplates(
	ctx context.Context,
	// ifaceFilePath is the absolute path of the original interface.
	ifaceFilePath string,
	ifaceName string,
	srcPkg *packages.Package,
) error {
	log := zerolog.Ctx(ctx)

	mock := "mock"
	if ast.IsExported(ifaceName) {
		mock = "Mock"
	}

	workingDir, err := os.Getwd()
	if err != nil {
		return fmt.Errorf("get working directory: %w", err)
	}
	workingDir = filepath.ToSlash(workingDir)
	ifaceFilePath = filepath.ToSlash(filepath.Clean(ifaceFilePath))
	interfaceDirPath := filepath.ToSlash(filepath.Dir(ifaceFilePath))
	interfaceDirRelativePath, err := filepath.Rel(filepath.FromSlash(workingDir), filepath.FromSlash(interfaceDirPath))

	var interfaceDirRelative string

	if err != nil {
		log.Debug().
			Err(err).
			Str("working-dir", workingDir).
			Str("interfaceDirPath", interfaceDirPath).
			Str("interface-dir-relative-path", interfaceDirRelativePath).
			Str("iface-file-path", ifaceFilePath).
			Msg("can't make path relative to working dir, setting to './'")
		interfaceDirRelative = "."
	} else {
		interfaceDirRelativePath = filepath.ToSlash(interfaceDirRelativePath)
		log.Debug().
			Str("working-dir", workingDir).
			Str("interfaceDirPath", interfaceDirPath).
			Str("interface-dir-relative-path", interfaceDirRelativePath).
			Msg("found relative path")
		interfaceDirRelative = interfaceDirRelativePath
	}

	// data is the struct sent to the template parser
	data := TemplateData{
		ConfigDir:            filepath.Dir(*c.ConfigFile),
		InterfaceDir:         interfaceDirPath,
		InterfaceDirRelative: interfaceDirRelative,
		InterfaceFile:        ifaceFilePath,
		InterfaceName:        ifaceName,
		Mock:                 mock,
		StructName:           *c.StructName,
		SrcPackageName:       srcPkg.Types.Name(),
		SrcPackagePath:       srcPkg.Types.Path(),
		Template:             *c.Template,
	}
	// These are the config options that we allow
	// to be parsed by the templater. The keys are
	// just labels we're using for logs/errors
	templateMap := map[string]*string{
		"dir":             c.Dir,
		"filename":        c.FileName,
		"pkgname":         c.PkgName,
		"structname":      c.StructName,
		"template-schema": c.TemplateSchema,
	}

	changesMade := true
	for i := 0; changesMade; i++ {
		if i >= 20 {
			log.Error().Msg("infinite loop in template variables detected")
			for key, val := range templateMap {
				l := log.With().Str("variable-name", key).Str("variable-value", *val).Logger()
				l.Error().Msg("config variable value")
			}
			return ErrInfiniteLoop
		}
		// Templated variables can refer to other templated variables,
		// so we need to continue parsing the templates until it can't
		// be parsed anymore.
		changesMade = false

		for name, attributePointer := range templateMap {
			oldVal := *attributePointer

			attributeTempl, err := template.New("config-template").Funcs(template_funcs.FuncMap).Parse(*attributePointer)
			if err != nil {
				return fmt.Errorf("failed to parse %s template: %w", name, err)
			}
			var parsedBuffer bytes.Buffer

			log.Debug().Str("template-data", fmt.Sprintf("%+v", data)).Msg("executing template with data")
			if err := attributeTempl.Execute(&parsedBuffer, data); err != nil {
				return fmt.Errorf("failed to execute %s template: %w", name, err)
			}
			*attributePointer = parsedBuffer.String()
			if *attributePointer != oldVal {
				changesMade = true
			}
		}
	}

	return nil
}

func (c *Config) GetReplacement(pkgPath string, typeName string) *ReplaceType {
	pkgMap := c.ReplaceType[pkgPath]
	if pkgMap == nil {
		return nil
	}
	return pkgMap[typeName]
}

// ExtractDirectiveConfig parses interface's documentation from a declaration
// node and extracts mockery's directive configuration.
//
// Mockery directives are comments that start with "mockery:" and can appear
// multiple times in the interface's doc comments. All such comments are combined
// and interpreted as YAML configuration.
func ExtractDirectiveConfig(ctx context.Context, decl *ast.GenDecl) (*Config, error) {
	if decl == nil || decl.Doc == nil {
		return nil, nil
	}

	var yamlConfig []string

	// Extract all mockery directive comments and build a YAML document
	for _, doc := range decl.Doc.List {
		// Look for directive comments  `//mockery:<config-key>: <value>` and convert them to YAML
		if value, found := strings.CutPrefix(doc.Text, "//mockery:"); found && value != "" {
			yamlConfig = append(yamlConfig, value)
		}
	}

	if len(yamlConfig) == 0 {
		return nil, nil
	}

	// Combine all YAML lines into a single document
	yamlDoc := strings.Join(yamlConfig, "\n")

	// Parse the YAML directly into the directiveConfig struct
	directiveConfig := Config{}
	if err := yaml.Unmarshal([]byte(yamlDoc), &directiveConfig); err != nil {
		return nil, fmt.Errorf("unmarshaling directive yaml: %w", err)
	}

	return &directiveConfig, nil
}


================================================
FILE: config/config_test.go
================================================
package config

import (
	"context"
	"errors"
	"fmt"
	"go/ast"
	"os"
	"path"
	"testing"

	"github.com/spf13/pflag"
	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
)

func TestNewRootConfig(t *testing.T) {
	tests := []struct {
		name    string
		config  string
		wantErr error
	}{
		{
			name: "unrecognized parameter",
			config: `
packages:
  github.com/foo/bar:
    config:
      unknown: param
`,
			wantErr: fmt.Errorf("'packages[github.com/foo/bar].config' has invalid keys: unknown"),
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			configFile := path.Join(t.TempDir(), "config.yaml")
			require.NoError(t, os.WriteFile(configFile, []byte(tt.config), 0o600))

			flags := pflag.NewFlagSet("test", pflag.ExitOnError)
			flags.String("config", "", "")

			require.NoError(t, flags.Parse([]string{"--config", configFile}))

			_, _, err := NewRootConfig(context.Background(), flags)
			if tt.wantErr == nil {
				assert.NoError(t, err)
			} else {
				var original error
				cursor := err
				for cursor != nil {
					original = cursor
					cursor = errors.Unwrap(cursor)
				}
				assert.Equal(t, tt.wantErr.Error(), original.Error())
			}
		})
	}
}

func TestNewRootConfigUnknownEnvVar(t *testing.T) {
	t.Setenv("MOCKERY_UNKNOWN", "foo")
	configFile := path.Join(t.TempDir(), "config.yaml")
	require.NoError(t, os.WriteFile(configFile, []byte(`
packages:
  github.com/vektra/mockery/v3:
`), 0o600))

	flags := pflag.NewFlagSet("test", pflag.ExitOnError)
	flags.String("config", "", "")

	require.NoError(t, flags.Parse([]string{"--config", configFile}))
	_, _, err := NewRootConfig(context.Background(), flags)
	assert.NoError(t, err)
}

func TestNewRootConfigDefaultFormatterOptions(t *testing.T) {
	configFile := path.Join(t.TempDir(), "config.yaml")
	require.NoError(t, os.WriteFile(configFile, []byte(`
formatter: goimports
`), 0o600))

	flags := pflag.NewFlagSet("test", pflag.ExitOnError)
	flags.String("config", "", "")

	require.NoError(t, flags.Parse([]string{"--config", configFile}))
	cfg, _, err := NewRootConfig(context.Background(), flags)
	require.NoError(t, err)
	require.NotNil(t, cfg.FormatterOptions.GoImports)
	assert.Equal(t, "goimports", *cfg.Formatter)
	assert.False(t, *cfg.FormatterOptions.GoImports.AllErrors)
	assert.True(t, *cfg.FormatterOptions.GoImports.Comments)
	assert.True(t, *cfg.FormatterOptions.GoImports.FormatOnly)
	assert.Equal(t, "", *cfg.FormatterOptions.GoImports.LocalPrefix)
	assert.True(t, *cfg.FormatterOptions.GoImports.TabIndent)
	assert.Equal(t, 8, *cfg.FormatterOptions.GoImports.TabWidth)
}

func TestExtractConfigFromDirectiveComments(t *testing.T) {
	configs := []struct {
		name         string
		commentLines []string
		expected     *Config
		expectError  bool
	}{
		{
			name: "no directive comments",
			commentLines: []string{
				"// This is a regular comment.",
				"// Another regular comment.",
			},
			expected:    nil,
			expectError: false,
		},
		{
			name: "regular comments are not directive comments",
			commentLines: []string{
				"// Directive comments *must* shouldn't have spaces after the slashes.",
				"// mockery:structname: MyMock",
			},
			expected:    nil,
			expectError: false,
		},
		{
			name: "valid single-line directive comment",
			commentLines: []string{
				"//mockery:structname: MyMock",
			},
			expected: &Config{
				StructName: ptr("MyMock"),
			},
		},
		{
			name: "valid multi-line directive comments",
			commentLines: []string{
				"// Some initial comment.",
				"//mockery:structname: MyMock",
				"//mockery:filename: my_mock.go",
				"// Some trailing comment.",
			},
			expected: &Config{
				StructName: ptr("MyMock"),
				FileName:   ptr("my_mock.go"),
			},
			expectError: false,
		},
		{
			name: "invalid directive comment format",
			commentLines: []string{
				"//mockery:structname MyMock", // Missing ':'
			},
			expected:    nil,
			expectError: true,
		},
		{
			name: "unsupported configuration key are ignored",
			commentLines: []string{
				"//mockery:unknown_key: value",
			},
			expected:    &Config{},
			expectError: false,
		},
		{
			name: "mixed valid and invalid directive comments",
			commentLines: []string{
				"//mockery:structname: MyMock",
				"//mockery:invalid_format", // Invalid
				"//mockery:filename: my_mock.go",
			},
			expected:    nil,
			expectError: true,
		},
	}

	for _, tt := range configs {
		t.Run(tt.name, func(t *testing.T) {
			comments := make([]*ast.Comment, len(tt.commentLines))
			for i, line := range tt.commentLines {
				comments[i] = &ast.Comment{Text: line}
			}

			result, err := ExtractDirectiveConfig(context.Background(), &ast.GenDecl{
				Doc: &ast.CommentGroup{
					List: comments,
				},
			})
			if tt.expectError {
				require.Error(t, err)
			} else {
				require.NoError(t, err)
				assert.Equal(t, tt.expected, result)
			}
		})
	}
}

func ptr[T any](s T) *T {
	return &s
}


================================================
FILE: docs/configuration.md
================================================
Configuration
==============

`mockery init`
--------------

`mockery init [module_name]` is a useful command that can bootstrap you with a fully-functioning configuration set. For example, if we run:

``` title=""
$ mockery init github.com/vektra/mockery/v3/internal/fixtures
2025-03-14T23:06:12.535709000-05:00 INF writing to file file=.mockery.yml version=v0.0.0-dev
2025-03-14T23:06:12.536493000-05:00 INF done version=v0.0.0-dev
```
<div class="result">
```yaml title=".mockery.yml"
all: false
dir: '{{.InterfaceDir}}'
filename: mocks_test.go
force-file-write: false
formatter: goimports
log-level: info
structname: '{{.Mock}}{{.InterfaceName}}'
pkgname: '{{.SrcPackageName}}'
recursive: false
template: testify
packages:
  github.com/vektra/mockery/v3/internal/fixtures:
    config:
      all: true
```
</div>

We can then run mockery against this config to generate the code:

``` title=""
$ mockery
2025-03-14T23:42:17.014113000-05:00 INF Starting mockery config-file=/Users/landon/git/LandonTClipp/mockery/.mockery.yaml version=v0.0.0-dev
2025-03-14T23:42:17.014258000-05:00 INF Parsing configured packages... version=v0.0.0-dev
2025-03-14T23:42:17.527483000-05:00 INF Done parsing configured packages. version=v0.0.0-dev
[...]
2025-03-14T23:42:17.531239000-05:00 INF Executing template file=/Users/landon/git/LandonTClipp/mockery/internal/fixtures/mocks_test.go version=v0.0.0-dev
2025-03-14T23:42:17.690601000-05:00 INF Writing template to file file=/Users/landon/git/LandonTClipp/mockery/internal/fixtures/mocks_test.go version=v0.0.0-dev
```
<div class="result">

```title=""
$ head -n 17 /Users/landon/git/LandonTClipp/mockery/internal/fixtures/mocks_test.go
// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery

package test

import (
        "encoding/json"
        "io"
        "net/http"
        "unsafe"

        mock "github.com/stretchr/testify/mock"
        http1 "github.com/vektra/mockery/v3/internal/fixtures/12345678/http"
        "github.com/vektra/mockery/v3/internal/fixtures/constraints"
        http0 "github.com/vektra/mockery/v3/internal/fixtures/http"
        test "github.com/vektra/mockery/v3/internal/fixtures/redefined_type_b"
)
```

</div>

??? tip "Extended Example"

    A more complex configuration example can be seen below:

    ```yaml
    all: False
    template-data:
      boilerplate-file: ./path/to/boilerplate.txt
    template: testify
    packages:
      github.com/vektra/example:
        config:
          # Make use of the template variables to place the mock in the same
          # directory as the original interface.
          dir: "{{.InterfaceDir}}"
          filename: "mocks_test.go"
          pkgname: "{{.PackageName}}_test"
          structname: "{{.Mock}}{{.InterfaceName}}"
        interfaces:
          Foo:
          Bar:
            config:
              # Make it unexported instead
              structname: "mock{{.InterfaceName}}"
          Baz:
            # Create two mock implementations of Baz with different names.
            configs:
              - filename: "mocks_baz_one_test.go"
                structname: "MockBazOne"
              - filename: "mocks_baz_two_test.go"
                structname: "MockBazTwo"
      io:
        config:
          dir: path/to/io/mocks
          filename: "mocks_io.go"
    ```

    These are the highlights of the config scheme:

    1. The parameters are merged hierarchically
    2. There are a number of template variables available to generalize config values.
    3. The style of mock to be generated is specified using the [`template`](template/index.md) parameter.

Parameter Descriptions
-----------------------

[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/vektra/mockery/v3/config#Config)

| name                                                   | templated                 | default                               | description                                                                                                                                                                                                                                          |
|--------------------------------------------------------|---------------------------|---------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `all`                                                  | :fontawesome-solid-x:     | `#!yaml false`                        | Generate all interfaces for the specified packages.                                                                                                                                                                                                  |
| `_anchors`                                             | :fontawesome-solid-x:     | `#!yaml {}`                           | Unused by mockery, but allowed in the config schema so that you may define arbitrary yaml anchors.                                                                                                                                                   |
| `config`                                               | :fontawesome-solid-x:     | `#!yaml ""`                           | Set the location of the mockery config file.                                                                                                                                                                                                         |
| `dir`                                                  | :fontawesome-solid-check: | `#!yaml "{{.InterfaceDir}}"`  | The directory where the mock file will be outputted to.                                                                                                                                                                                              |
| `exclude-subpkg-regex`                                 | :fontawesome-solid-x:     | `#!yaml []`                           | A list of regular expressions that denote which subpackages should be excluded when `#!yaml recursive: true` |
| `exclude-interface-regex`                              | :fontawesome-solid-x:     | `#!yaml ""`                           | When set along with `include-interface-regex`, then interfaces which match `include-interface-regex` but also match `exclude-interface-regex` will not be generated. If `all` is set, or if `include-interface-regex` is not set, then `exclude-interface-regex` has no effect.                        |
| `filename`                                             | :fontawesome-solid-check: | `#!yaml "mocks_test.go"` | The name of the file the mock will reside in. Multiple interfaces from the same source package can be placed into the same output file.                                                                                                                             |
| `force-file-write`                                     | :fontawesome-solid-x:     | `#!yaml true`                        | When set to `#!yaml force-file-write: true`, mockery will forcibly overwrite any existing files. Otherwise, it will fail if the output file already exists. |
| `formatter`                                            | :fontawesome-solid-x:     | `#!yaml "goimports"`                  | The formatter to use on the rendered template. Choices are: `gofmt`, `goimports`, `noop`.                                                                                                                                                            |
| `formatter-options`                                    | :fontawesome-solid-x:     | `#!yaml nil`                          | Additional options for the formatter. See below.                                                            |
| `generate`                                             | :fontawesome-solid-x:     | `#!yaml true`                         | Can be used to selectively enable/disable generation of specific interfaces. See [the related docs](generate-directive.md) for more details. |
| [`include-auto-generated`](include-auto-generated.md){ data-preview }                               | :fontawesome-solid-x:     | `#!yaml false`                        | When set to `true`, mockery will parse files that are auto-generated. This can only be specified in the top-level config or package-level config. |
| `include-interface-regex`                              | :fontawesome-solid-x:     | `#!yaml ""`                           | When set, only interface names that match the expression will be generated. This setting is ignored if `all: True` is specified in the configuration. To further refine the interfaces generated, use `exclude-interface-regex`.                               |
| [`inpackage`](inpackage.md){ data-preview }            | :fontawesome-solid-x:     | `#!yaml nil`                          | When set, this overrides mockery's auto-detection logic when determining if the mock file is inside or outside of the mocked interface's package. |
| `log-level`                                            | :fontawesome-solid-x:     | `#!yaml "info"`                       | Set the level of the logger                                                                                                                                                                                                                          |
| `structname`                                           | :fontawesome-solid-check: | `#!yaml "{{.Mock}}{{.InterfaceName}}"` | The name of the generated interface implementation.                                                                                                                                                                                                                      |
| `packages`                                             | :fontawesome-solid-x:     | `#!yaml null`                         | A dictionary containing configuration describing the packages and interfaces to generate mocks for.                                                                                                                                                  |
| `pkgname`                                              | :fontawesome-solid-check: | `#!yaml "{{.SrcPackageName}}"`        | The `#!go package name` given to the generated mock files.                                                                                                                                                                                           |
| `recursive`                                            | :fontawesome-solid-x:     | `#!yaml false`                        | When set to `true` on a particular package, mockery will recursively search for all sub-packages and inject those packages into the config map.                                                                                                      |
| [`replace-type`](replace-type.md){ data-preview }      | :fontawesome-solid-x:     | `#!yaml {}`                           | Use this parameter to specify type replacements.                                 |
| `build-tags`                                           | :fontawesome-solid-x:     | `#!yaml ""`                           | A space-separated list of additional build tags to load packages.                                                                                                                                                                                    |
| `require-template-schema-exists`                       | :fontawesome-solid-x:     | `#!yaml true`                         | If set to `#!yaml true` and the schema failed to download, mockery will fail. Otherwise, mockery will not attempt to download the file nor do any schema validation.                                                |
| `template`                                             | :fontawesome-solid-x:     | `#!yaml ""`                           | The template to use. The choices are defined in the [Templates](../template/) section.                                                                                                                                        |
| `template-data`                                        | :fontawesome-solid-x:     | `#!yaml {}`                           | A `map[string]any` that provides arbitrary options to the template. Each template will have a different set of accepted keys. Refer to each template's documentation for more details.                                                               |
| `template-schema`                                      | :fontawesome-solid-check: | `#!yaml "{{.Template}}.schema.json"`  | The URL of the JSON schema to apply to the `template-data` parameter. See the [template docs](./template/index.md#schemas){ data-preview } for more details. |


The `formatter-options` field allows formatter-specific configuration. Currently goimports is supported. For
example:

```yaml title="mockery.yaml"
---
formatter: goimports
formatter-options:
  goimports:
    local-prefix: github.com/myrepo
    tab-indent: true
```

Templates
---------

Parameters marked as being templated have access to a number of template variables and functions through the Go [`text/template`](https://pkg.go.dev/text/template#hdr-Examples) system.

### Variables

The variables provided are specified in the [`config.TemplateData`](https://pkg.go.dev/github.com/vektra/mockery/v3/config#TemplateData) struct.

### Functions

All of the functions defined in [`StringManipulationFuncs`](https://pkg.go.dev/github.com/vektra/mockery/v3/shared#pkg-variables) are available to templated parameters.

Config sources
--------------

Config can not only be specified from the `.yml` file, but also from CLI parameters (where available) and environment variables. For example, specifying a boolean value for a particular parameter called `enable-feature` from each config source would look like this:

| source               | value                        |
|----------------------|------------------------------|
| command line         | `--enable-feature=true`       |
| Environment variable | `MOCKERY_ENABLE_FEATURE=True` |
| yaml                 | `#!yaml enable-feature: True` |

Config is loaded from each source in the following order:

1. Default values
2. Environment variables
3. Config file
4. CLI Parameters


================================================
FILE: docs/dev-notes.md
================================================
Developer Notes
===============

Go Upgrades
------------

The mockery project supports the most recent TWO stable Go versions. Testing matrices will only run on the two most recent stable Go versions. However, given the [Go backwards-compatibility guarantee](https://go.dev/blog/compat), it's very likely projects built off of older Go 1.x syntax will continue to work in perpetuity.(1)
{ .annotate }

1. The caveat, being noted, is the same as the above linked backwards compatibility guarantee:

    > There are a few qualifications to that. First, compatibility means source compatibility. When you update to a new version of Go, you do have to recompile your code. Second, we can add new APIs, but not in a way that breaks existing code.

    > The end of the document warns, “[It] is impossible to guarantee that no future change will break any program.” Then it lays out a number of reasons why programs might still break.

    > For example, it makes sense that if your program depends on a buggy behavior and we fix the bug, your program will break. But we try very hard to break as little as possible and keep Go boring. There are two main approaches we’ve used so far: API checking and testing.



Go Syntax Updates
------------------

When Go releases new syntax, there are two approaches that the mockery project will take:

### Mockery does not need to interact with the new syntax

In such cases, the mockery project _only_ needs to upgrade its `golang.org/x/tools` dependency. This is necessary for the parsing step to simply not fail if it encounters new syntax. If mockery does not need to interact or understand this syntax, this dependency upgrade is likely all that's needed.

Take for example the problems mentioned [here] when mockery upgraded to `go 1.24` in its `go.mod` file. In this situation, the project maintainers wanted to allow mockery to not crash when it parses syntax containing generic type alias syntax. However, the project did not _parse_ this syntax, so the only thing we needed to do was upgrade `golang.org/x/tools`.

### Mockery _does_ need to interact with the new syntax

This situation was encountered in Go 1.18 when generics were introduced. [In this case](https://github.com/vektra/mockery/pull/456/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6), the project needed to be upgraded to `go 1.18` because mockery now had to directly parse and interpret generic types through the `go/ast` package. This was needed in conjunction with an upgrade of `golang.org/x/tools` that handles the actual parsing into `go/ast` data.

It's possible in future versions of Go that only the `toolchain` directive needs to be upgraded to allow mockery to use a more recent `go/ast` package. The purposes of the `go` directive is supposed to inform the compiler what features of the Go language the module uses in its own syntax, so in this case as long as mockery does not itself use generics, it can parse generic type information from _other_ projects without needing to pin its `go` directive to the relevant version.


================================================
FILE: docs/faq.md
================================================
---
title: FAQ
---

Frequently Asked Questions
===========================

How do I generate mocks for external packages?
----------------------------

To generate mocks for external packages, you first need to `go get` the package in your project. Then, simply include the external package in your mockery config. For example:

```yaml
packages:
  go.temporal.io/sdk:
    config:
      all: true
      recursive: true
      dir: mocks/{{.SrcPackagePath}}
      filename: mocks.go
```

error: `interface not found in source`
--------------------------------------

!!! tip "v3.6.0"

    Version [`v3.6.0`](https://github.com/vektra/mockery/releases/tag/v3.6.0) of mockery fixed a bug in how files were detected to be auto-generated. Many users may find that mockery is suddenly unable to find mocks after upgrading to `v3.6.0`. Try providing:

    ```yaml title=""
    include-auto-generated: true
    ```

    in your mockery config to see if this resolves the issue.

This log message indicates that an interface was explicitly listed in the mockery config but it was not found in the source. This can happen for a number of reasons:

1. The package name was misspelled
2. The interface name was misspelled
3. The `#!yaml include-auto-generated: false` parameter was set (of which `false` is the default) and the interface lived in an auto-generated file.

Setting `#!yaml log-level: debug` can provide a lot of insight into mockery's decision tree, so we recommend inspecting these logs for further clues into why the interface was not found.

For more details on `include-auto-generated`, visit [the related documentation](include-auto-generated.md).

error: `no go files found in root search path`
---------------------------------------------

When using the `packages` feature, `recursive: true` and you have specified a package that contains no `*.go` files, mockery is unable to determine the on-disk location of the package in order to continue the recursive package search. This appears to be a limitation of the [golang.org/x/tools/go/packages](https://pkg.go.dev/golang.org/x/tools/go/packages) package that is used to parse package metadata.

The solution is to create a `.go` file in the package's path and add a `package [name]` directive at the top. It doesn't matter what the file is called. This allows mockery to properly read package metadata.

[Discussion](https://github.com/vektra/mockery/discussions/636)

internal error: package without types was imported
---------------------------------------------------

[https://github.com/vektra/mockery/issues/475](https://github.com/vektra/mockery/issues/475)

This issue indicates that you have attempted to use package in your dependency tree (whether direct or indirect) that uses Go language semantics that your currently-running Go version does not support. The solution:

1. Update to the latest go version
2. Delete all cached packages with `go clean -modcache`
3. Reinstall mockery

Additionally, this issue only happens when compiling mockery from source, such as with `go install`. Our docs [recommend not to use `go install`](../installation#go-install) as the success of your build depends on the compatibility of your Go version with the semantics in use. You would not encounter this issue if using one of the installation methods that install pre-built binaries, like downloading the `.tar.gz` binaries, or through `brew install`.

Semantic Versioning
-------------------

The mockery project follows the standard Semantic Versioning Semantics. The versioning applies to the following areas:

1. The shape of mocks generated by pre-curated templates.
2. Functions and data provided to templates specified with `#!yaml template: "file://"`.
3. Configuration options.

Mockery is not meant to be used as an imported library. Importing mockery code in external modules is not supported.

Mocking interfaces in `main`
----------------------------

When your interfaces are in the main package, you should supply the `--inpackage` flag.
This will generate mocks in the same package as the target code, avoiding import issues.

mockery fails to run when `MOCKERY_VERSION` environment variable is set
------------------------------------------------------------------------

This issue was first highlighted [in this GitHub issue](https://github.com/vektra/mockery/issues/391).

mockery uses the viper package for configuration mapping and parsing. Viper is set to automatically search for all config variables specified in its config struct. One of the config variables is named `version`, which gets mapped to an environment variable called `MOCKERY_VERSION`. If you set this environment variable, mockery attempts to parse it into the `version` bool config.

This is an adverse effect of how our config parsing is set up. The solution is to rename your environment variable to something other than `MOCKERY_VERSION`.


================================================
FILE: docs/generate-directive.md
================================================
# `//mockery:generate`

:octicons-tag-24: v3.6.0

An alternative way to configure mocks is to use the `#!go //mockery:generate` directive. Mockery parses the doc comments and allows you to override configuration of specific interfaces in the source code. For example:

```yaml title=".mockery.yml"
all: false
packages:
    github.com/vektra/mockery/v3/internal/fixtures/directive_comments_example:
```

We set the top-level `#!yaml all: false` (which is the default value, anyway) to ensure that interfaces are by default not generated. We can then specify the doc comment directive to include the interface:

```go title="interface.go"
package directivecommentsexample

// Requester is an interface that defines a method for making HTTP requests.
//
//mockery:generate: true
type Requester interface {
	Get(path string) (string, error)
}
```

<div class="result" markdown>
``` title=""
2025-11-11T14:40:22.897665000-05:00 INF adding interface to collection collection=/Users/landonclipp/git/LandonTClipp/mockery/internal/fixtures/directive_comments_example/mocks_test.go interface=Requester package-path=github.com/vektra/mockery/v3/internal/fixtures/directive_comments_example version=v0.0.0-dev
```
</div>

We can also specify any config value that mockery supports. For example, let's rename the mock's structname:

```
// Requester is an interface that defines a method for making HTTP requests.
//
//mockery:generate: true
//mockery:structname: MockFoo
type Requester interface {
	Get(path string) (string, error)
}
```

The new `structname` is applied as expected:

```go
// MockFoo is an autogenerated mock type for the Requester type
type MockFoo struct {
	mock.Mock
}
```

!!! note

    The `#!yaml generate:` parameter is only effectual from within the doc comment itself. It has no effect if specified within the mockery config file.

================================================
FILE: docs/include-auto-generated.md
================================================
# `#!yaml include-auto-generated:`

:octicons-tag-24: v3.5.0

The `#!yaml include-auto-generated:` parameter specifies whether or not mockery should include source files that appear to be auto-generated. By default, mockery will search for the presence of a string in the source code that appears before the `#!go package foo` declaration that matches the regular expression `^\/\/ Code generated by .* DO NOT EDIT(\.?)( )*$`. Sometimes, users may wish to override this behavior and unconditionally include these source files. For example:

```yaml title=".mockery.yml"
packages:
  github.com/vektra/mockery/v3/internal/fixtures/include_auto_generated:
    config:
      include-auto-generated: true
```

You may also set this at the top-level as such:

```yaml title=".mockery.yml"
include-auto-generated: true
packages:
  github.com/vektra/mockery/v3/internal/fixtures/include_auto_generated:
```

It is not possible to set this parameter at the interface level config because mockery performs this regular expression check before parsing the syntax in the source file. Allowing users to specify this on the interface-level config would require mockery to unconditionally parse all files, which defeats the performance benefits of excluding such auto-generated files in the first place.


================================================
FILE: docs/index.md
================================================
mockery
========

[v3 Migration Docs](v3.md){ .md-button .md-button--stretch }

Mockery is a project that creates mock implementations of Golang interfaces. It inspects source code and generates implementations of the interface that aid in testing.

In addition to providing a number of different styles of mocks, mockery also allows users to provide their own template files that will then be rendered using a set of template data, methods, and functions that provide comprehensive typing information about the Go interface in question.

![](assets/images/demo.gif)
![](assets/images/MockScreenshot.png)

Why mockery?
-------------

When you have an interface like this:

```golang title="db.go"
type DB interface {
	Get(val string) string
}
```

and a function that takes this interface:

```golang title="db_getter.go"
func getFromDB(db DB) string {
	return db.Get("ice cream")
}
```

We can use simple configuration to generate a mock implementation for the interface:

```yaml title=".mockery.yaml"
packages:
	github.com/org/repo:
		interfaces:
			DB:
```

<div class="result">
```bash
$ mockery
05 Mar 23 21:49 CST INF Starting mockery dry-run=false version=v3.0.0
05 Mar 23 21:49 CST INF Using config: .mockery.yaml dry-run=false version=v3.0.0
05 Mar 23 21:49 CST INF Generating mock dry-run=false interface=DB qualified-name=github.com/org/repo version=v3.0.0
```
</div>

We can then use the mock object in a test:

```go title="db_getter_test.go"
import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func Test_getFromDB(t *testing.T) {
	mockDB := NewMockDB(t)
	mockDB.EXPECT().Get("ice cream").Return("chocolate").Once()
	flavor := getFromDB(mockDB)
	assert.Equal(t, "chocolate", flavor)
}
```

Why use mockery?
----------------

1. You gain access to a number of pre-curated mock implementations that can be used in testing. This includes traditional "mockery-style" mocks, as well as other styles from the open source community such as from https://github.com/matryer/moq. Such mocks allow you to quickly define how the implementation should behave under test without having to manually curate your own mocks/stubs/fakes.
2. Mockery benefits from a large number of performance improvements that almost all other Go code-generation projects currently have not employed. This means that it's orders of magnitude faster for large codebases.
3. Mockery provides a comprehensive, centralized, flexible, and simple configuration scheme driven off of yaml instead of relying on sprawling `//go:generate` commands.
4. Mockery is a code-generation framework. While its original goal is to provide mock implementations for testing purposes, users can supply their own templates to auto-generate any kind of code that needs to be based off of interfaces.
5. A number of high profile companies, projects, and communities trust Mockery.

Who uses mockery?
------------------

<div class="grid cards" markdown>
- <figure markdown>
	[![Kubernetes logo](assets/images/logos/kubernetes.svg){ class="center" width="100" }](https://github.com/kubernetes/kubernetes)
	<figcaption>[Kubernetes](https://github.com/search?q=repo%3Akubernetes%2Fkubernetes%20mockery&type=code)</figcaption>
  </figure>
- <figure markdown>
	[![Grafana logo](assets/images/logos/grafana.svg){ class="center" width="100" }](https://github.com/grafana/grafana)
	<figcaption>[Grafana](https://github.com/search?q=repo%3Agrafana%2Fgrafana%20mockery&type=code)</figcaption>
  </figure>
- <figure markdown>
	[![Google logo](assets/images/logos/google.svg){ class="center" width="100" }](https://github.com/google/skia)
	<figcaption>[Google skia](https://github.com/google/skia)</figcaption>
  </figure>
- <figure markdown>
	[![Google logo](assets/images/logos/google.svg){ class="center" width="100" }](https://github.com/google/syzkaller)
	<figcaption>[Google syzkaller](https://github.com/google/syzkaller)</figcaption>
  </figure>
- <figure markdown>
	[![Hashicorp logo](assets/images/logos/hashicorp.svg){ class="center" width="100" }](https://github.com/search?q=org%3Ahashicorp%20mockery&type=code)
	<figcaption>[Hashicorp](https://github.com/search?q=org%3Ahashicorp%20mockery&type=code)</figcaption>
  </figure>
- <figure markdown>
	[![Jaeger logo](assets/images/logos/jaeger.png){ class="center" width="300" }](https://github.com/jaegertracing/jaeger)
	<figcaption>[Jaegertracing](https://github.com/jaegertracing/jaeger)</figcaption>
  </figure>
- <figure markdown>
	[![Splunk logo](assets/images/logos/splunk.svg){ class="center" width="300" }](https://github.com/splunk/kafka-mq-go)
	<figcaption>[Splunk kafka-mq-go](https://github.com/splunk/kafka-mq-go)</figcaption>
  </figure>
- <figure markdown>
	[![Ignite Logo](assets/images/logos/ignite-cli.png){ class="center" width="300" }](https://github.com/ignite/cli)
  </figure>
- <figure markdown>
	[![Tendermint Logo](assets/images/logos/tendermint.svg){ class="center" width="300" }](https://github.com/tendermint/tendermint)
  </figure>
- <figure markdown>
	[![Datadog logo](assets/images/logos/datadog.svg){ class="center" width="300" }](https://github.com/DataDog/datadog-agent)
  </figure>
- [![Seatgeek Logo](assets/images/logos/seatgeek.svg)](https://seatgeek.com)
- <figure markdown>
    [![Amazon logo](assets/images/logos/amazon.svg){ class="center" width="300" }](https://github.com/eksctl-io/eksctl)
	<figcaption>[eksctl](https://github.com/eksctl-io/eksctl)</figcaption>
  </figure>
- <figure markdown>
    [![MongoDB Logo](assets/images/logos/mongodb.svg){ class="center" width="300" }](https://github.com/search?q=org%3Amongodb%20mockery&type=code)
  </figure>
- <figure markdown>
	[![go-task logo](assets/images/logos/go-task.svg){ class="center" width="300" }](https://taskfile.dev/)
	<figcaption>[Task](https://taskfile.dev/)
  </markdown>
  - <figure markdown>
	[![cerbos logo](assets/images/logos/cerbos.png){ class="center" width="300" }](https://github.com/cerbos/cerbos)
  </markdown>
</div>



[Get Started](installation.md){ .md-button .md-button--primary .md-button--stretch }


================================================
FILE: docs/inpackage.md
================================================
# `#!yaml inpackage:`

:octicons-tag-24: v3.5.0

The `#!yaml inpackage` parameter overrides mockery's auto-detection logic that determines whether an output file resides inside or outside of the package of the original interface. Normally, import statements and type qualifiers (such as `srcpkg.TypeName`, the qualified variant of `TypeName`) are added when the mock references types in the original package _and_ the mock resides outside of that package. For example:

```go
import (
	mock "github.com/stretchr/testify/mock"
	"github.com/vektra/mockery/v3/internal/fixtures/inpackage"
)

// Bar provides a mock function for the type MockFoo
func (_mock *MockFoo) Bar() inpackage.InternalStringType {
```

When `#!yaml inpackage: true` is set, the `"github.com/vektra/mockery/v3/internal/fixtures/inpackage"` import is removed and the type will be referred to as its unqualified name. For example:

```go
import (
	mock "github.com/stretchr/testify/mock"
)

// Bar provides a mock function for the type MockFoo
func (_mock *MockFoo) Bar() InternalStringType {
```

================================================
FILE: docs/installation.md
================================================
Getting Started
================

Installation
-------------

### GitHub Release <small>recommended</small>

Visit the [releases page](https://github.com/vektra/mockery/releases) to download one of the pre-built binaries for your platform.

### go install

Supported, but not recommended: [see wiki page](https://github.com/vektra/mockery/wiki/Installation-Methods#go-install) and [related discussions](https://github.com/vektra/mockery/pull/456).

<div id="mockery-install-go-command"></div>

!!! warning

    Do _not_ use `@latest` as this will pull from the latest, potentially untagged, commit on master.

### Docker

Use the [Docker image](https://hub.docker.com/r/vektra/mockery)

    docker pull vektra/mockery

Generate all the mocks for your project:

	docker run -v "$PWD":/src -w /src vektra/mockery:3

### Homebrew

Install through [brew](https://brew.sh/)

    brew install mockery
    brew upgrade mockery


<script type="text/javascript">
const start = performance.now();

function insert_installation_command(element_to_override,version){
    element_to_override.innerHTML=`
``` title=""
go install github.com/vektra/mockery/v3@${version}
```
`;
}

function compareSemver(v1, v2) {
    const parseVersion = (version) => {
        const [main, preRelease] = version.replace(/^v/, "").split("-");
        const mainParts = main.split('.').map(Number);
        const preParts = preRelease ? preRelease.split('.').map((part) => isNaN(part) ? part : Number(part)) : [];
        return { mainParts, preParts };
    };

    const compareParts = (a, b) => {
        for (let i = 0; i < Math.max(a.length, b.length); i++) {
            const partA = a[i] || 0;
            const partB = b[i] || 0;
            if (partA > partB) return 1;
            if (partA < partB) return -1;
        }
        return 0;
    };

    const { mainParts: main1, preParts: pre1 } = parseVersion(v1);
    const { mainParts: main2, preParts: pre2 } = parseVersion(v2);

    const mainComparison = compareParts(main1, main2);
    if (mainComparison !== 0) return mainComparison;

    // Compare pre-release parts
    if (pre1.length === 0 && pre2.length > 0) return 1; // No pre-release > pre-release
    if (pre1.length > 0 && pre2.length === 0) return -1; // Pre-release < no pre-release
    return compareParts(pre1, pre2);
}



const version_key="/mockery/version";
const element = document.getElementById('mockery-install-go-command');
const url = `https://api.github.com/repos/vektra/mockery/releases`;

let version = sessionStorage.getItem(version_key);


if (version !== null) {
    insert_installation_command(element,version);
} else {
  const request = new Request(url, {
    method: "GET",
  });

  fetch(request)
    .then((response) => response.json())
    .then((data) => {
      let latest_version = "";
      data.forEach((release) => {
        let release_tag=release.tag_name;
        if (!release_tag.startsWith("v3")){
          return
        };
        if (latest_version === "" || compareSemver(release_tag, latest_version) === 1) {
          latest_version=release_tag;
        };
      });
      sessionStorage.setItem(version_key, latest_version);
      insert_installation_command(element,latest_version);
    })
    .catch((error) =>{
          console.error(error);
          element.innerHTML=`failed to fetch latest release info from: https://api.github.com/repos/vektra/mockery/releases/tags/v3`;
    }
  );
}

const end = performance.now();
console.log(`Execution time for finding latest mockery tag: ${end - start} milliseconds`);
</script>


================================================
FILE: docs/javascripts/tablesort.js
================================================
document$.subscribe(function() {
    var tables = document.querySelectorAll("article table:not([class])")
    tables.forEach(function(table) {
      new Tablesort(table)
    })
  })


================================================
FILE: docs/replace-type.md
================================================
# `#!yaml replace-type:`

:octicons-tag-24: v3.0.0

The `#!yaml replace-type:` parameter allows you to replace a type in the generated mocks with another type. Take for example the following interface:

```go title="interface.go"
package replace_type

import (
    "github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt1"
    "github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt2"
)

type RType interface {
    Replace1(f rt1.RType1)
}
```

You can selectively replace the `rt1.RType1` with a new type if so desired. For example:

### Schema

```yaml title=".mockery.yml"
replace-type:
  github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt1:
    RType1:
      pkg-path: github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt2
      type-name: RType2
```

### Result

The mock will now replace all instances of `rt1.RType1` with `rt2.RType2`. You can see the before and after of `mockery`-style mocks:

=== "before"

    ```go
    // Replace2 provides a mock function for the type RTypeReplaced1
    func (_mock *RTypeReplaced1) Replace1(f rt1.RType1) {
        _mock.Called(f)
        return
    }
    ```

=== "after"

    ```go
    // Replace2 provides a mock function for the type RTypeReplaced1
    func (_mock *RTypeReplaced1) Replace1(f rt2.RType2) {
        _mock.Called(f)
        return
    }
    ```

## Background

This parameter is useful if you need to need to work around packages that use internal types. Take for example the situation found [here](https://github.com/vektra/mockery/issues/864#issuecomment-2567788637), noted by [RangelReale](https://github.com/RangelReale).


================================================
FILE: docs/requirements.txt
================================================
mike @ git+https://github.com/jimporter/mike.git
mkdocs
mkdocs-glightbox
mkdocs-material==9.7.1
mkdocs-open-in-new-tab
cairosvg
pillow
mkdocs-table-reader-plugin


================================================
FILE: docs/stylesheets/extra.css
================================================
.md-button--stretch {
    width: 100%;
    text-align: center;
}

.center {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: auto;
}

.md-grid {
    max-width: 200em;
}


================================================
FILE: docs/template/index.md
================================================
Templates
=========

Mockery, in its essence, renders templates. This project provides a number of pre-curated templates that you can select with the `#!yaml template:` config parameter. Each template will render a specific kind of implementation of the interface in question. Historically, mocks (used in testing) are common to generate, but anything that implements the interface is fair game.

Mockery provides a few embedded templates you can render, or you can use a URL to specify a remotely-hosted template.

## Template Options

### [`#!yaml template: "testify"`](testify.md#description)

[`testify`](testify.md#description){ data-preview } templates generate powerful, testify-based mock objects. They allow you to create expectations using argument-to-return-value matching logic.

### [`#!yaml template: "matryer"`](matryer.md#description)

[`matryer`](matryer.md#description){ data-preview } templates draw from the mocks generated from the project at https://github.com/matryer/moq. This project was folded into mockery, and thus moq-style mocks can be natively generated from within mockery.

Mocks generated using this template allow you to define precise functions to be run.

### `#!yaml template: "file://"`

You may also provide mockery a path to your own file using the `file://` protocol specifier. The string after `file://` will be the relative or absolute path of your template.

The templates are rendered with the data as shown in the [section below](#template-data).

You can see examples of how the mockery project utilizes the template system to generate the different mock styles:

- [`matryer.templ`](https://github.com/vektra/mockery/blob/v3/internal/mock_matryer.templ)
- [`testify.templ`](https://github.com/vektra/mockery/blob/v3/internal/mock_testify.templ)

### `#!yaml template: "https://"`

You can also host templates remotely. This allows you to specify something like:

```yaml title=""
template: https://raw.githubusercontent.com/vektra/mockery/refs/tags/v3.0.0-beta.8/e2e/test_template_exercise/exercise.templ
template-schema: https://raw.githubusercontent.com/vektra/mockery/refs/tags/v3.0.0-beta.8/e2e/test_template_exercise/exercise.templ.schema.json
```

!!! note "Note on Versioning"

    Templates hosted remotely should be versioned just like any other piece of code. We recommend hosting the template on a git repo so that you may reference explicit tags.

    It's best practice to maintain 3 sets of tags:

    1. Major: `v3`
    2. Minor: `v3.1`
    3. Patch: `v3.1.2`

    This will give consumers of your template the ability to specify which level of granularity they want to track versions.

The non-TLS variant is also supported: `#!yaml template: "http://"`, but not recommended for obvious reasons.

## Schemas

Templates can provide a JSON Schema file that describes the format of the `TemplateData` parameter. Mockery auto-discovers the location of these schema files by appending `.schema.json` to the path of the template. For example, if you provide to mockery `#!yaml template: file://./path/to/template.tmpl`, it will look for a file at `file://./path/to/template.tmpl.schema.json`. If found, this schema will be applied to the `TemplateData` type sent to the template.

To get started with JSON Schema, you can borrow an example JSON document used for the mockery project itself:

```json title="schema.json"
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "vektra/mockery testify mock",
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "boilerplate-file": {
        "type": "string"
      },
      "mock-build-tags": {
        "type": "string"
      },
      "unroll-variadic": {
        "type": "boolean"
      }
    },
    "required": []
}
```

Note that the `#!json "additionalProperties": false` parameter is crucial to ensure only the specified parameters exist in the configured `#!yaml template-data: {}` map.

!!! tip "`template-schema`"

    You can specify a custom schema path using the [`#!yaml template-schema:`](../configuration.md#parameter-descriptions)parameter.

## Template Data

Templates are rendered with functions and data you can utilize to generate your mocks. Links are shown below:

| Description | Link |
|-|-|
| Functions | [![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/vektra/mockery/v3/template_funcs#pkg-variables) | 
| Data | [![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/vektra/mockery/v3/template#Data) |


================================================
FILE: docs/template/matryer.md
================================================
---
title: matryer
---

`matryer` mocks are derived from the project at https://github.com/matryer/moq. These mocks create a struct that has a function field for each method, which you can declare in your test code.

## Description

=== "Interface"

    ```go
    package test

    type Requester interface {
        Get(path string) (string, error)
    }
    ```


=== "Example Usage"

    ```go
    func TestRequesterMoq(t *testing.T) {
        m := &MoqRequester{
            GetFunc: func(path string) (string, error) {
                fmt.Printf("Go path: %s\n", path)
                return path + "/foo", nil
            },
        }
        result, err := m.Get("/path")
        assert.NoError(t, err)
        assert.Equal(t, "/path/foo", result)
    }
    ```

=== "`.mockery.yml`"

    ```yaml
    template: matryer
    packages:
        github.com/vektra/mockery/v3/pkg/fixtures:
            config:
                dir: "{{.InterfaceDir}}"
                filename: "mocks_moq.go"
                pkgname: "test"
                structname: "Moq{{.InterfaceName}}"
            interfaces:
                Requester:
    ```

=== "`mocks_matryer.go`"

    ```go
    // Code generated by mockery; DO NOT EDIT.
    // github.com/vektra/mockery

    package test

    import (
        "sync"
    )

    // Ensure, that MoqRequester does implement Requester.
    // If this is not the case, regenerate this file with moq.
    var _ Requester = &MoqRequester{}

    // MoqRequester is a mock implementation of Requester.
    //
    //	func TestSomethingThatUsesRequester(t *testing.T) {
    //
    //		// make and configure a mocked Requester
    //		mockedRequester := &MoqRequester{
    //			GetFunc: func(path string) (string, error) {
    //				panic("mock out the Get method")
    //			},
    //		}
    //
    //		// use mockedRequester in code that requires Requester
    //		// and then make assertions.
    //
    //	}
    type MoqRequester struct {
        // GetFunc mocks the Get method.
        GetFunc func(path string) (string, error)

        // calls tracks calls to the methods.
        calls struct {
            // Get holds details about calls to the Get method.
            Get []struct {
                // Path is the path argument value.
                Path string
            }
        }
        lockGet sync.RWMutex
    }

    // Get calls GetFunc.
    func (mock *MoqRequester) Get(path string) (string, error) {
       // ...
    }

    // GetCalls gets all the calls that were made to Get.
    // Check the length with:
    //
    //	len(mockedRequester.GetCalls())
    func (mock *MoqRequester) GetCalls() []struct {
        Path string
    } {
        // ...
    }

    ```


matryer-style mocks are far simpler, and probably more intuitive, than testify-style mocks. All that's needed is to define the function that will be run when the mock's method is called.

## `template-data`

`moq` accepts the following `#!yaml template-data:` keys:

| key | type | description |
|-----|------|-------------|
| `boilerplate-file`  | `#!yaml string` | Specify a path to a file that contains comments you want displayed at the top of all generated mock files. This is commonly used to display license headers at the top of your source code. |
| `mock-build-tags` | `#!yaml string` | Set the build tags of the generated mocks. Read more about the [format](https://pkg.go.dev/cmd/go#hdr-Build_constraints). |
| `skip-ensure` | `#!yaml bool` | Suppress mock implementation check, avoid import cycle if mocks generated outside of the tested package. |
| `stub-impl` | `#!yaml bool` | Return zero values when no mock implementation is provided, do not panic. |
| `with-resets` | `#!yaml bool` | Generates methods that allow resetting calls made to the mocks. |


### Schema

```json
--8<-- "internal/mock_matryer.templ.schema.json"
```

================================================
FILE: docs/template/testify.md
================================================
---
title: testify
---

Features for `#!yaml template: testify`.

Choosing this template will render a traditional "mockery-style" template. The
section below shows what will be rendered for the given interface.

## Description

=== "Interface"

    ```go
    package test

    type Requester interface {
        Get(path string) (string, error)
    }
    ```

=== "Example Usage"

    ```go
    package test

    import (
        "testing"

        "github.com/stretchr/testify/assert"
    )

    func TestRequesterMock(t *testing.T) {
        m := NewMockRequester(t)
        m.EXPECT().Get("foo").Return("bar", nil).Once()
        retString, err := m.Get("foo")
        assert.NoError(t, err)
        assert.Equal(t, retString, "bar")
    }
    ```

=== "`.mockery.yml`"

    ```yaml
    template: testify
    packages:
        github.com/vektra/mockery/v3/pkg/fixtures:
            config:
                dir: "{{.InterfaceDir}}"
                filename: "mocks.go"
                pkgname: "test"
                structname: "Mock{{.InterfaceName}}"
            interfaces:
                Requester:
    ```

=== "`mocks.go`"

    ```go
    // Code generated by mockery; DO NOT EDIT.
    // github.com/vektra/mockery

    package test

    import (
        mock "github.com/stretchr/testify/mock"
    )


    // NewRequester creates a new instance of Requester. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
    // The first argument is typically a *testing.T value.
    func NewRequester (t interface {
        mock.TestingT
        Cleanup(func())
    }) *Requester {
       // ...
    }


    // Requester is an autogenerated mock type for the Requester type
    type Requester struct {
        mock.Mock
    }

    type Requester_Expecter struct {
        mock *mock.Mock
    }

    func (_m *Requester) EXPECT() *Requester_Expecter {
        // ...
    }



    // Get provides a mock function for the type Requester
    func (_mock *Requester) Get(path string) (string, error) {
        // ...
    }



    // Requester_Get_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Get'
    type Requester_Get_Call struct {
        *mock.Call
    }



    // Get is a helper method to define mock.On call
    //  - path
    func (_e *Requester_Expecter) Get(path interface{}, ) *Requester_Get_Call {
        // ...
    }

    func (_c *Requester_Get_Call) Run(run func(path string)) *Requester_Get_Call {
       // ...
    }

    func (_c *Requester_Get_Call) Return(s string, err error) *Requester_Get_Call {
        // ...
    }

    func (_c *Requester_Get_Call) RunAndReturn(run func(path string)(string, error)) *Requester_Get_Call {
        // ...
    }
    ```

As you can see, this mock utilizes `github.com/stretchr/testify` under the hood and registers call expectations with testify. When the mock receives a call to `Get()`, it retrieves the expected value from testify to be returned.

This style of mock also has other interesting methods:

=== "`#!go Run()`"

    Run a side effect when the argument matches.

    ```go
    func TestRequesterMockRun(t *testing.T) {
        m := NewMockRequester(t)
        m.EXPECT().Get(mock.Anything).Return("", nil)
        m.EXPECT().Get(mock.Anything).Run(func(path string) {
            fmt.Printf("Side effect! Argument is: %s", path)
        })
        retString, err := m.Get("hello")
        assert.NoError(t, err)
        assert.Equal(t, retString, "")
    }
    ```

=== "`#!go RunAndReturn()`"

    Run a function to perform side-effects, and return the result of the function.

    ```go
    func TestRequesterMockRunAndReturn(t *testing.T) {
        m := NewMockRequester(t)
        m.EXPECT().Get(mock.Anything).RunAndReturn(func(path string) (string, error) {
            return path + " world", nil
        })
        retString, err := m.Get("hello")
        assert.NoError(t, err)
        assert.Equal(t, retString, "hello world")
    }
    ```

=== "`github.com/stretchr/testify/mock.Mock`"

    Because the mock embeds the testify `Mock` object, you can all any methods on that as well.

    ```go
    func TestRequesterMockTestifyEmbed(t *testing.T) {
        m := NewMockRequester(t)
        m.EXPECT().Get(mock.Anything).Return("", nil).Twice()
        m.Get("hello")
        m.Get("world")
        assert.Equal(t, len(m.Mock.Calls), 2)
    }
    ```
## `template-data`

| key | type | description |
|-----|------|-------------|
| `boilerplate-file`  | `#!yaml string` | Specify a path to a file that contains comments you want displayed at the top of all generated mock files. This is commonly used to display license headers at the top of your source code. |
| `mock-build-tags` | `#!yaml string` | Set the build tags of the generated mocks. Read more about the [format](https://pkg.go.dev/cmd/go#hdr-Build_constraints). |
| `unroll-variadic` | `#!yaml bool` | If set to `#!yaml unroll-variadic: true`, will expand the variadic argument to testify using the `...` syntax. See [notes](#variadic-arguments) for more details. |

### Schema

```json
--8<-- "internal/mock_testify.templ.schema.json"
```

## Features

### Mock Constructors

:octicons-tag-24: v2.11.0

All mock objects have constructor functions. These constructors do basic test setup so that the expectations you set in the code are asserted before the test exits.

Previously something like this would need to be done:
```go
factory := &mocks.Factory{}
factory.Test(t) // so that mock does not panic when a method is unexpected
defer factory.AssertExpectations(t)
```

Instead, you may simply use the constructor:
```go
factory := mocks.NewFactory(t)
```

The constructor sets up common functionalities automatically

- The `AssertExpectations` method is registered to be called at the end of the tests via `t.Cleanup()` method.
- The testing.TB interface is registered on the `mock.Mock` so that tests don't panic when a call on the mock is unexpected.


### Expecter Structs

:octicons-tag-24: v2.10.0 · `with-expecter: True`

Mockery now supports an "expecter" struct, which allows your tests to use type-safe methods to generate call expectations. When enabled through the `with-expecter: True` mockery configuration, you can enter into the expecter interface by simply calling `.EXPECT()` on your mock object.

For example, given an interface such as
```go
type Requester interface {
	Get(path string) (string, error)
}
```

You can use the expecter interface as such:
```go
requesterMock := mocks.NewRequester(t)
requesterMock.EXPECT().Get("some path").Return("result", nil)
```

A `RunAndReturn` method is also available on the expecter struct that allows you to dynamically set a return value based on the input to the mock's call.

```go
requesterMock.EXPECT().
	Get(mock.Anything).
	RunAndReturn(func(path string) (string, error) {
		fmt.Println(path, "was called")
		return ("result for " + path), nil
	})
```

!!! note

	Note that the types of the arguments on the `EXPECT` methods are `interface{}`, not the actual type of your interface. The reason for this is that you may want to pass `mock.Any` as an argument, which means that the argument you pass may be an arbitrary type. The types are still provided in the expecter method docstrings.


### Return Value Providers

:octicons-tag-24: v2.20.0

Return Value Providers can be used one of two ways. You may either define a single function with the exact same signature (number and type of input and return parameters) and pass that as a single value to `Return`, or you may pass multiple values to `Return` (one for each return parameter of the mocked function.)  If you are using the second form, for each of the return values of the mocked function, `Return` needs a function which takes the same arguments as the mocked function, and returns one of the return values. For example, if the return argument signature of `passthrough` in the above example was instead `(string, error)` in the interface, `Return` would also need a second function argument to define the error value:

```go
type Proxy interface {
    passthrough(ctx context.Context, s string) (string, error)
}
```

First form:

```go
proxyMock := mocks.NewProxy(t)
proxyMock.On("passthrough", mock.AnythingOfType("context.Context"), mock.AnythingOfType("string")).
Return(
    func(ctx context.Context, s string) (string, error) {
        return s, nil
    }
)
```


Second form:

```go
proxyMock := mocks.NewProxy(t)
proxyMock.On("passthrough", mock.AnythingOfType("context.Context"), mock.AnythingOfType("string")).
Return(
    func(ctx context.Context, s string) string {
        return s
    },
    func(ctx context.Context, s string) error {
        return nil
    },
)
```

## Notes

### Variadic Arguments

Consider if we have a function `#!go func Bar(message ...string) error`. A typical assertion might look like this:

```go
func TestFoo(t *testing.T) {
  m := NewMockFoo(t)
  m.On("Bar", "hello", "world").Return(nil)
```

We might also want to make an assertion that says "any number of variadic arguments":

```go
m.On("Bar", mock.Anything).Return(nil)
```

However, what we've given to mockery is ambiguous because it is impossible to distinguish between these two intentions:

1. Any number of variadic arguments of any value
2. A single variadic argument of any value

This is fixed in [#359](https://github.com/vektra/mockery/pull/359) where you can provide `unroll-variadic: False` to get back to the old behavior. Thus, if you want to assert (1), you can then do:

```go
m.On("Bar", mock.Anything).Return(nil)
```

If you want to assert (2), you must set `unroll-variadic: True`. Then this assertion's intention will be modified to mean the second case:

```go
m.On("Bar", mock.Anything).Return(nil)
```

An upstream patch to `testify` is currently underway to allow passing `mock.Anything` directly to the variadic slice: [https://github.com/stretchr/testify/pull/1348](https://github.com/stretchr/testify/pull/1348)

If this is merged, it would become possible to describe the above two cases respectively:

```go
// case 1
m.On("Bar", mock.Anything).Return(nil)
// case 2
m.On("Bar", []interface{}{mock.Anything}).Return(nil)
```

References:

- [https://github.com/vektra/mockery/pull/359](https://github.com/vektra/mockery/pull/359)
- [https://github.com/vektra/mockery/pull/123](https://github.com/vektra/mockery/pull/123)
- [https://github.com/vektra/mockery/pull/550](https://github.com/vektra/mockery/pull/550)
- [https://github.com/vektra/mockery/issues/541](https://github.com/vektra/mockery/issues/541)

### Multiple Expectations With Identical Arguments

There might be instances where you want a mock to return different values on successive calls that provide the same arguments. For example, we might want to test this behavior:

```go
// Return "foo" on the first call
getter := NewGetter()
assert(t, "foo", getter.Get("key"))

// Return "bar" on the second call
assert(t, "bar", getter.Get("key"))
```

This can be done by using the `.Once()` method on the mock call expectation:

```go
mockGetter := NewMockGetter(t)
mockGetter.EXPECT().Get(mock.anything).Return("foo").Once()
mockGetter.EXPECT().Get(mock.anything).Return("bar").Once()
```

Or you can identify an arbitrary number of times each value should be returned:

```go
mockGetter := NewMockGetter(t)
mockGetter.EXPECT().Get(mock.anything).Return("foo").Times(4)
mockGetter.EXPECT().Get(mock.anything).Return("bar").Times(2)
```

Note that with proper Go support in your IDE, all the available methods are self-documented in autocompletion help contexts.


================================================
FILE: docs/v3.md
================================================
v3 Migration
==========

Mockery releases version 3 of the project that provides a number of high-profile benefits over v2:

1. Generation of [`matryer`](template/matryer.md)-style templates. The https://github.com/matryer/moq project is being subsumed into mockery to combine the speed and configuration flexibility of mockery with the simplicity of moq-style mocks.
2. The ability to specify [your own templates](template/index.md) for rendering.
3. One output file for all generated mocks (for a particular package) instead of one output file per mock.
4. Simplification and streamlining of the way mocks are generated using new configuration defaults.

v3 has been architected in a way that will eventually make all other interface-based code generation frameworks obsolete.[^2]

Read the maintainer's blog post on the history and background of v3:

[![](https://topofmind.dev/assets/images/social/blog/2025/04/08/announcing-mockery-v3.png){ style="width: 600px; max-width: 100%" }](https://topofmind.dev/blog/2025/04/08/announcing-mockery-v3/)

## `mockery migrate`

A tool is provided that will migrate your v2 config to v3 on a best-effort basis. Take for example a v2 schema config:

```yaml title=""
quiet: False
disable-version-string: True
with-expecter: True
structname: "{{.InterfaceNameCamel}}"
filename: "{{.StructName}}_mock.go"
outpkg: mocks
tags: "custom2"
issue-845-fix: True
resolve-type-alias: False
packages:
  github.com/vektra/mockery/v2/pkg/fixtures:
    config:
      all: True
    interfaces:
      RequesterVariadic:
        config:
          with-expecter: False
        configs:
          - structname: RequesterVariadicOneArgument
            unroll-variadic: False
          - structname: RequesterVariadic
            unroll-variadic: True
      ReplaceGeneric:
        config:
          replace-type:
            - github.com/vektra/mockery/v2/pkg/fixtures.ReplaceGeneric[-TImport]=github.com/vektra/mockery/v2/pkg/fixtures/redefined_type_b.B
            - github.com/vektra/mockery/v2/pkg/fixtures.ReplaceGeneric[TConstraint]=github.com/vektra/mockery/v2/pkg/fixtures/constraints.String
```



We can run the command to migrate this to the v3 schema:

```title=""
$ mockery migrate --config ./.mockery_v2.yml
2025-03-28T00:26:44.762164000-05:00 INF using config config=./.mockery_v2.yml version=v0.0.0-dev
2025-03-28T00:26:44.762804000-05:00 INF writing v3 config config=./.mockery_v2.yml v3-config=.mockery_v3.yml version=v0.0.0-dev
2025-03-28T00:26:44.762914000-05:00 WRN breaking changes detected that possibly require manual intervention. See table below. config=./.mockery_v2.yml version=v0.0.0-dev
```

This command will return two results:

!!! info ""

    === "`.mockery_v3.yml`"

        The translated v3 config file.

        ```yaml
        structname: '{{.InterfaceNameCamel}}'
        pkgname: mocks
        template: testify
        template-data:
          with-expecter: true
        packages:
          github.com/vektra/mockery/v2/pkg/fixtures:
            config:
              all: true
            interfaces:
              ReplaceGeneric:
                config: {}
              RequesterVariadic:
                config:
                  template-data:
                    with-expecter: false
                configs:
                  - structname: RequesterVariadicOneArgument
                    template-data:
                      unroll-variadic: false
                  - structname: RequesterVariadic
                    template-data:
                      unroll-variadic: true
        ```

    === "Deprecation Table"

        A deprecation table that highlights situations that could not be resolved automatically. Each of these entries must be manually handled.

        Take for example the last entry mentioning `replace-type`. In v3, the [schema for `replace-type`](replace-type.md#schema){ data-preview } was changed from a parsed string to a more explicit key-value mapping.

        ```title=""
        ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
        │                                                              Deprecations                                                              │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ IDX  DEPRECATION TYPE      MESSAGE                                                                                                     │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 0    template-variable     InterfaceNameCamel template variable has been deleted. Use "{{ .InterfaceName | camelcase }}" instead       │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 1    deprecated-parameter  `tags` is no longer supported, parameter not migrated. Use `mock-build-tags` instead.                       │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 2    deprecated-parameter  `disable-func-mocks` permanently enabled in v3.                                                             │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 3    deprecated-parameter  `fail-on-missing` is permanently set to True in v3.                                                         │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 4    deprecated-parameter  `disable-version-string` is permanently set to True in v3.                                                  │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 5    deprecated-parameter  `issue-845-fix` is permanently set to true in v3.                                                           │
        ├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
        │ 6    deprecated-parameter  `replace-type` has moved to a new schema. Cannot automatically migrate. Please visit                        │
        │                            https://vektra.github.io/mockery/latest-v3/replace-type/ for more information.                              │
        ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
        ```

!!! warning

    `mockery migrate` is not comprehensive and likely has missing edge cases. We encourage you to submit issues and PRs for any problems you encounter.

## Config Templates

Template functions used in configuration files have changed. The order of arugments for functions that take input strings is swapped. For example, in v2 the [`trimSuffix` function](https://github.com/vektra/mockery/blob/v2.53.3/pkg/outputter.go#L49) was set to the `strings.TrimSuffix` function from the stdlib. In v3, the argument orders are swapped, for example:

```go
"trimSuffix":  func(suffix string, s string) string { return strings.TrimSuffix(s, suffix) },
```

This is done to support [template pipelines](https://pkg.go.dev/text/template#hdr-Pipelines). You can see all of the reordered functions at [pkg.go.dev](https://pkg.go.dev/github.com/vektra/mockery/v3@v3.2.4/template_funcs#pkg-variables).

## Layouts

In v2, mockery defaulted to placing mocks in a separate `mocks/` directory as [shown here](https://vektra.github.io/mockery/latest-v2/configuration/#layouts). In v3, mockery will by default place mocks adjacent to the mocked interface.

It is still possible to place mocks in a separate directory by making use of the [template variables and functions](configuration.md#templates) available to the configuration parameters.

## Function Mocks

Mockery v2 allowed generating mocks for function types. v3 no longer does this as it provided little benefit for users.

## Parameters

### `#!yaml inpackage: True`

Mockery v2 has an `inpackage` parameter that informed mockery when a mock was being generated in the same package as the original interface. In v3, this parameter has been removed as mockery is now able to detect when the mock is placed in the same package.

### `#!yaml keeptree: True`

Mockery v2 provided a `keeptree` parameter that was deprecated and used only in the pre-`packages` config schema. This parameter has no use in v3 and has been removed.

### `#!yaml replace-type:`

The `#!yaml replace-type:` parameter has an updated schema. In v2, [users provided a list of strings](https://vektra.github.io/mockery/latest-v2/features/#replace-types), where each string needed to confirm to a specific format that was parsed at runtime. In v3, the [schema is more explicit](replace-type.md) to make it simpler.

### `#!yaml resolve-type-alias:`

In v2, `resolve-type-alias` was set to `True` by default to retain backwards compatibility. In v3, this is permanently set to `False`.

### `#!yaml with-expecter:`

In v3, this parameter has been removed. `testify`-style mocks will always generate expecter methods.

### `#!yaml unroll-variadic:`

This parameter has been moved under the `#!yaml template-data:` parameter. Parameters that apply only to specific templates are not expressed in the top-level schema and are instead passed through the schemaless `#!yaml template-data:` map.

### `#!yaml exclude:`

This parameter in v2 was renamed to `#! exclude-subpkg-regex:`.

## v2 Support Lifecycle

In order to give the community ample time to adjust to v3, the mockery maintainers will support v2 until Dec 31, 2029 in the following ways:

1. Bug fixes
2. Security/vulnerability fixes
3. Dependency updates to support future Go language versions.[^1]

From the date at which v3 is released for full production, the Mockery project will support feature updates to v2 for a period of 6 months.

[^1]: More specifically, we agree to update our dependencies used in parsing Go types such that Mockery is capable of parsing new syntax introduced in the Go language. The mockery project will _not_ support changes to the generated code in a manner that makes use of any new language features. The only promise is that Mockery will be able to parse modules that use such new syntax or other language features without failing.
[^2]: A bold statement yes, but we hope to convince you of its truth with what's coming. The assumption of the https://github.com/matryer/moq project into mockery is a testament to this statement, and is only the first of many other projects we hope to integrate into mockery.


================================================
FILE: e2e/run_all.sh
================================================
#!/bin/bash
set -e
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

for test in $(ls -d $SCRIPT_DIR/test_*); do
    file="$test"
    if [ -d "$test" ]; then
        file="$test/run.sh"
        if ! [ -f $file ]; then 
            continue
        fi
    fi
    echo "=========="
    echo "RUNNING $file"
    echo "=========="
    $file
done


================================================
FILE: e2e/test_infinite_mocking.sh
================================================
#!/bin/bash
# This tests https://github.com/vektra/mockery/issues/632, where
# mockery was generating mocks of its own auto-generated code.
go run github.com/go-task/task/v3/cmd/task mocks || exit 1

# New mocks may legimitately be created, so we run mockery once first
num_files_before=$(find . -type f | wc -l)
export MOCKERY_FORCE_FILE_WRITE="true"
go run github.com/go-task/task/v3/cmd/task mocks.generate || exit 1
num_files_after=$(find . -type f | wc -l)

if [ $num_files_before -ne $num_files_after ]; then
    echo "ERROR: detected increased file count over multiple mockery runs."
    echo "before: $num_files_before. after: $num_files_after"
    exit 1
fi
echo "SUCCESS: identical number of files over multiple mockery runs"



================================================
FILE: e2e/test_missing_interface/.mockery.yml
================================================
packages:
  github.com/vektra/mockery/v3/internal:
    interfaces:
      InterfaceDoesntExist:


================================================
FILE: e2e/test_missing_interface/run.sh
================================================
#!/bin/bash

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
CONFIG=$SCRIPT_DIR/.mockery.yml
export MOCKERY_CONFIG=$CONFIG

go run github.com/go-task/task/v3/cmd/task mocks.generate.custom

RT=$?
if [ $RT -eq 0 ]; then
    echo "ERROR: Expected mockery to fail."
    exit 1
fi
echo "SUCCESS: Mockery returned non-zero return code as expected."

================================================
FILE: e2e/test_mockery_generation.sh
================================================
#!/bin/bash

go run github.com/go-task/task/v3/cmd/task mocks
rt=$?
if [ $rt -ne 0 ]; then
    echo "ERROR: non-zero return code from mockery"
    exit 1
fi
echo "SUCCESS: successfully generated mocks defined in .mockery.yaml"

================================================
FILE: e2e/test_remote_templates/remote_templates_test.go
================================================
package testremotetemplates

import (
	"fmt"
	"net/http"
	"net/http/httptest"
	"os"
	"os/exec"
	"path"
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
)

var configTemplate = `
dir: %s
filename: %s
template: %s
formatter: noop
force-file-write: true
pkgname: test_pkgname
template-data:
  foo: foo
  bar: bar
packages:
  github.com/vektra/mockery/v3/internal/fixtures/template_exercise:
    interfaces:
      Exercise:
`

func TestRemoteTemplates(t *testing.T) {
	// the temp dir needs to reside within the mockery project because mockery
	// requires a go.mod file to function correctly. Using t.TempDir() won't work
	// because of this.
	tmpDirBase := "./test"
	_ = os.RemoveAll(tmpDirBase)
	require.NoError(t, os.Mkdir(tmpDirBase, 0o755))

	//nolint:errcheck
	defer os.RemoveAll(tmpDirBase)

	type test struct {
		name             string
		schema           string
		expectMockeryErr bool
	}
	for _, tt := range []test{
		{
			name: "schema validation OK",
			schema: `{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"title": "vektra/mockery matryer mock",
	"type": "object",
	"additionalProperties": false,
	"properties": {
		"foo": {
		"type": "string"
		},
		"bar": {
		"type": "string"
		}
	},
	"required": ["foo", "bar"]
}`,
			expectMockeryErr: false,
		},
		{
			name: "Required parameter doesn't exist",
			schema: `{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"title": "vektra/mockery matryer mock",
	"type": "object",
	"additionalProperties": false,
	"properties": {
		"foo": {
			"type": "string"
		},
		"bar": {
			"type": "string"
		},
		"baz": {
			"type": "string"
		}
	},
	"required": ["foo", "bar", "baz"]
}`,
			expectMockeryErr: true,
		},
	} {
		t.Run(tt.name, func(t *testing.T) {
			tmpdir := path.Join(tmpDirBase, t.Name())
			require.NoError(t, os.MkdirAll(tmpdir, 0o755))

			configFile := path.Join(tmpdir, ".mockery.yml")
			outFile := path.Join(tmpdir, "out.txt")

			templateName := "template.templ"
			mux := http.NewServeMux()
			mux.HandleFunc(fmt.Sprintf("/%s", templateName), func(w http.ResponseWriter, r *http.Request) {
				fmt.Fprint(w, "Hello, world!")
			})
			mux.HandleFunc(fmt.Sprintf("/%s.schema.json", templateName), func(w http.ResponseWriter, r *http.Request) {
				fmt.Fprint(w, tt.schema)
			})

			ts := httptest.NewServer(mux)
			defer ts.Close()

			fullPath := fmt.Sprintf("%s/%s", ts.URL, templateName)

			parent, name := path.Split(outFile)
			configFileContents := fmt.Sprintf(
				configTemplate,
				parent,
				name,
				fullPath,
			)
			require.NoError(t, os.WriteFile(configFile, []byte(configFileContents), 0o600))

			//nolint: gosec
			out, err := exec.Command(
				"go", "run", "github.com/vektra/mockery/v3",
				"--config", configFile).CombinedOutput()
			if tt.expectMockeryErr {
				assert.Error(t, err)
			} else {
				require.NoError(t, err, string(out))
				outFileBytes, err := os.ReadFile(outFile)
				require.NoError(t, err)
				assert.Equal(t, "Hello, world!", string(outFileBytes))
			}
		})
	}
}


================================================
FILE: e2e/test_template_data_schema_validation/.mockery.yml
================================================
dir: ./
filename: exercise.txt
template: file://./template.templ
formatter: noop
force-file-write: true
pkgname: test_pkgname
template-data:
  bar: bar
packages:
  github.com/vektra/mockery/v3/internal/fixtures/template_exercise:
    interfaces:
      Exercise:


================================================
FILE: e2e/test_template_data_schema_validation/template.templ
================================================


================================================
FILE: e2e/test_template_data_schema_validation/template.templ.schema.json
================================================
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "vektra/mockery matryer mock",
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "foo": {
        "type": "string"
      },
      "bar": {
        "type": "string"
      }
    },
    "required": ["foo", "bar"]
  }

================================================
FILE: e2e/test_template_data_schema_validation/validation_test.go
================================================
package test_template_exercise

import (
	"os"
	"os/exec"
	"strings"
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestExercise(t *testing.T) {
	t.Parallel()
	outfile := "./exercise.txt"
	//nolint:errcheck
	defer os.Remove(outfile)

	out, err := exec.Command(
		"go", "run", "github.com/vektra/mockery/v3",
		"--config", "./.mockery.yml").CombinedOutput()
	assert.Error(t, err)
	expectedString := "ERR (root): foo is required"
	assert.True(t, strings.Contains(string(out), expectedString), "expected string in stdout not found: \"%s\"", expectedString)
}


================================================
FILE: e2e/test_template_exercise/.mockery.yml
================================================
dir: ./
filename: exercise.txt
template: file://./exercise.templ
formatter: noop
force-file-write: true
pkgname: test_pkgname
template-data:
  foo: foo
  bar: bar
packages:
  github.com/vektra/mockery/v3/internal/fixtures/template_exercise:
    interfaces:
      Exercise:


================================================
FILE: e2e/test_template_exercise/exercise.templ
================================================
.PkgName: {{ .PkgName }}
.SrcPkgQualifier: {{ .SrcPkgQualifier }}
{{ range $i, $import := .Imports }}
$import.Alias: {{ $import.Alias }}
$import.Path: {{ $import.Path }}
$import.Qualifier: {{ $import.Qualifier }}
{{ end }}

{{ range $i, $interface := .Interfaces }}
# MOCK: {{ $i }}
$interface.Name: {{ $interface.Name }}
$interface.StructName: {{ $interface.StructName }}

# COMMENTS
$interface.Comments.GenDeclDoc.Text: {{ $interface.Comments.GenDeclDoc.Text }}
$interface.Comments.GenDeclDoc.List:
{{- range $_, $comment := $interface.Comments.GenDeclDoc.List }}
{{ $comment }}
{{- end }}
$interface.Comments.TypeSpecDoc.Text: {{ $interface.Comments.TypeSpecDoc.Text }}
$interface.Comments.TypeSpecDoc.List:
{{- range $_, $comment := $interface.Comments.TypeSpecDoc.List }}
{{ $comment }}
{{- end }}
$interface.Comments.TypeSpecComment.Text: {{ $interface.Comments.TypeSpecComment.Text }}
$interface.Comments.TypeSpecComment.List:
{{- range $_, $comment := $interface.Comments.TypeSpecComment.List }}
{{ $comment }}
{{- end }}

{{ range $j, $typeparam := .TypeParams }}
# TYPE PARAM: {{ $j }}
$typeparam.Var.Name: {{ $typeparam.Var.Name }}
$typeparam.Var.IsSlice: {{ $typeparam.Var.IsSlice }}
$typeparam.Var.Nillable: {{ $typeparam.Var.Nillable }}
$typeparam.Var.Type.String: {{ $typeparam.Var.Type.String }}
$typeparam.Var.TypeString: {{ $typeparam.Var.TypeString }}
$typeparam.CallName: {{ $typeparam.CallName true }}
$typeparam.CallName: {{ $typeparam.CallName false }}
$typeparam.MethodArg: {{ $typeparam.MethodArg }}
$typeparam.Name: {{ $typeparam.Name }}
$typeparam.TypeString: {{ $typeparam.TypeString }}
$typeparam.TypeStringEllipsis: {{ $typeparam.TypeStringEllipsis }}
$typeparam.TypeStringVariadicUnderlying: {{ $typeparam.TypeStringVariadicUnderlying }}
{{- if $typeparam.Constraint }}
$typeparam.Constraint.String: {{ $typeparam.Constraint.String }}
{{- end }}
{{ end }}
{{ range $j, $method := .Methods }}
# METHOD: {{ $j }}
$method.Name: {{ $method.Name }}
$method.ReturnStatement: {{ $method.ReturnStatement }}
$method.Call: {{ $method.Call }}
$method.AcceptsContext: {{ $method.AcceptsContext}}
$method.Signature: {{ $method.Signature }}
$method.SignatureNoName: {{ $method.SignatureNoName }}
$method.Declaration: {{ $method.Declaration }}
$method.ReturnsError: {{ $method.ReturnsError }}
$method.HasParams: {{ $method.HasParams }}
$method.HasReturns: {{ $method.HasReturns }}
$method.ReturnArgList: {{ $method.ReturnArgList }}
$method.ReturnArgListNoName: {{ $method.ReturnArgListNoName }}
$method.ArgList: {{ $method.ArgList }}
$method.ArgListNoName: {{ $method.ArgListNoName }}

{{ range $k, $param := .Params }}
# PARAM: {{ $k }}
$param.Var.Name: {{ $param.Var.Name }}
$param.Var.IsSlice: {{ $param.Var.IsSlice }}
$param.Var.Nillable: {{ $param.Var.Nillable }}
$param.Var.Type.String: {{ $param.Var.Type.String }}
$param.Var.TypeString: {{ $param.Var.TypeString }}
$param.MethodArg: {{ $param.MethodArg }}
$param.MethodArgNoName: {{ $param.MethodArgNoName }}

{{ end }}
{{ range $k, $return := .Returns }}
# RETURN: {{ $k }}
$return.Var.Name: {{ $return.Var.Name }}
$return.Var.IsSlice: {{ $return.Var.IsSlice }}
$return.Var.Nillable: {{ $return.Var.Nillable }}
$return.Var.Type.String: {{ $return.Var.Type.String }}
$return.Var.TypeString: {{ $return.Var.TypeString }}
{{ end }}
# SCOPE
$method.Scope.AllocateName "foo": {{ $method.Scope.AllocateName "foo" }}
$method.Scope.AllocateName "foo": {{ $method.Scope.AllocateName "foo" }}
$method.Scope.NameExists "foo": {{ $method.Scope.NameExists "foo" }}
$method.Scope.NameExists "foo1": {{ $method.Scope.NameExists "foo1" }}
$method.Scope.NameExists "notexists": {{ $method.Scope.NameExists "notexists" }}
{{ end }}
{{ end }}


================================================
FILE: e2e/test_template_exercise/exercise.templ.schema.json
================================================
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "vektra/mockery matryer mock",
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "foo": {
        "type": "string"
      },
      "bar": {
        "type": "string"
      }
    },
    "required": ["foo", "bar"]
  }

================================================
FILE: e2e/test_template_exercise/exercise_expected.txt
================================================
.PkgName: test_pkgname
.SrcPkgQualifier: templateexercise.

$import.Alias: 
$import.Path: context
$import.Qualifier: context

$import.Alias: 
$import.Path: golang.org/x/exp/constraints
$import.Qualifier: constraints



# MOCK: 0
$interface.Name: Exercise
$interface.StructName: MockExercise

# COMMENTS
$interface.Comments.GenDeclDoc.Text: GenDecl comments

$interface.Comments.GenDeclDoc.List:
// GenDecl comments
$interface.Comments.TypeSpecDoc.Text: Exercise is an interface that is used to render a template that exercises
all parts of the template data passed to the template.

$interface.Comments.TypeSpecDoc.List:
// Exercise is an interface that is used to render a template that exercises
// all parts of the template data passed to the template.
$interface.Comments.TypeSpecComment.Text: This is a line comment

$interface.Comments.TypeSpecComment.List:
// This is a line comment


# TYPE PARAM: 0
$typeparam.Var.Name: T
$typeparam.Var.IsSlice: false
$typeparam.Var.Nillable: true
$typeparam.Var.Type.String: any
$typeparam.Var.TypeString: any
$typeparam.CallName: T
$typeparam.CallName: T
$typeparam.MethodArg: T any
$typeparam.Name: T
$typeparam.TypeString: any
$typeparam.TypeStringEllipsis: any
$typeparam.TypeStringVariadicUnderlying: any

# TYPE PARAM: 1
$typeparam.Var.Name: Ordered
$typeparam.Var.IsSlice: false
$typeparam.Var.Nillable: true
$typeparam.Var.Type.String: golang.org/x/exp/constraints.Ordered
$typeparam.Var.TypeString: constraints.Ordered
$typeparam.CallName: Ordered
$typeparam.CallName: Ordered
$typeparam.MethodArg: Ordered constraints.Ordered
$typeparam.Name: Ordered
$typeparam.TypeString: constraints.Ordered
$typeparam.TypeStringEllipsis: constraints.Ordered
$typeparam.TypeStringVariadicUnderlying: constraints.Ordered
$typeparam.Constraint.String: int


# METHOD: 0
$method.Name: Foo
$method.ReturnStatement: return
$method.Call: Foo(ctx, typeParam, ordered)
$method.AcceptsContext: true
$method.Signature: (ctx context.Context, typeParam T, ordered Ordered) (err error)
$method.SignatureNoName: (context.Context, T, Ordered) (error)
$method.Declaration: Foo(ctx context.Context, typeParam T, ordered Ordered) (err error)
$method.ReturnsError: true
$method.HasParams: true
$method.HasReturns: true
$method.ReturnArgList: err error
$method.ReturnArgListNoName: error
$method.ArgList: ctx context.Context, typeParam T, ordered Ordered
$method.ArgListNoName: context.Context, T, Ordered


# PARAM: 0
$param.Var.Name: ctx
$param.Var.IsSlice: false
$param.Var.Nillable: true
$param.Var.Type.String: context.Context
$param.Var.TypeString: context.Context
$param.MethodArg: ctx context.Context
$param.MethodArgNoName: context.Context


# PARAM: 1
$param.Var.Name: typeParam
$param.Var.IsSlice: false
$param.Var.Nillable: true
$param.Var.Type.String: T
$param.Var.TypeString: T
$param.MethodArg: typeParam T
$param.MethodArgNoName: T


# PARAM: 2
$param.Var.Name: ordered
$param.Var.IsSlice: false
$param.Var.Nillable: true
$param.Var.Type.String: Ordered
$param.Var.TypeString: Ordered
$param.MethodArg: ordered Ordered
$param.MethodArgNoName: Ordered



# RETURN: 0
$return.Var.Name: err
$return.Var.IsSlice: false
$return.Var.Nillable: true
$return.Var.Type.String: error
$return.Var.TypeString: error

# SCOPE
$method.Scope.AllocateName "foo": foo
$method.Scope.AllocateName "foo": foo1
$method.Scope.NameExists "foo": true
$method.Scope.NameExists "foo1": true
$method.Scope.NameExists "notexists": false




================================================
FILE: e2e/test_template_exercise/exercise_test.go
================================================
package test_template_exercise

import (
	"fmt"
	"os"
	"os/exec"
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestExercise(t *testing.T) {
	t.Parallel()

	outfile := "./exercise.txt"
	//nolint:errcheck
	defer os.Remove(outfile)

	out, err := exec.Command(
		"go", "run", "github.com/vektra/mockery/v3",
		"--config", "./.mockery.yml").CombinedOutput()
	if err != nil {
		fmt.Println(err)
		fmt.Println(string(out))
		os.Exit(1)
	}

	b, err := os.ReadFile(outfile)
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
	expectedPath := "exercise_expected.txt"
	expected, err := os.ReadFile(expectedPath)
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
	assert.Equal(t, string(expected), string(b))
}


================================================
FILE: foo.go
================================================
package main

type baz string

type foo interface {
	Bar() baz
}


================================================
FILE: foo_test.go
================================================
package main

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestFoo(t *testing.T) {
	m := newMockfoo(t)
	m.EXPECT().Bar().Return(baz("foo"))
	assert.Equal(t, "foo", m.Bar())
}


================================================
FILE: go.mod
================================================
module github.com/vektra/mockery/v3

go 1.25.0

require (
	github.com/brunoga/deep v1.3.1
	github.com/go-viper/mapstructure/v2 v2.5.0
	github.com/huandu/xstrings v1.5.0
	github.com/jedib0t/go-pretty/v6 v6.7.8
	github.com/knadh/koanf/parsers/yaml v1.1.0
	github.com/knadh/koanf/providers/env v1.1.0
	github.com/knadh/koanf/providers/file v1.2.1
	github.com/knadh/koanf/providers/posflag v1.0.1
	github.com/knadh/koanf/providers/structs v1.0.0
	github.com/knadh/koanf/v2 v2.3.2
	github.com/rs/zerolog v1.34.0
	github.com/spf13/cobra v1.10.2
	github.com/spf13/pflag v1.0.10
	github.com/stretchr/testify v1.11.1
	github.com/xeipuuv/gojsonschema v1.2.0
	golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a
	golang.org/x/term v0.40.0
	golang.org/x/tools v0.42.0
	gopkg.in/yaml.v3 v3.0.1
)

require (
	github.com/clipperhouse/uax29/v2 v2.2.0 // indirect
	github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
	github.com/fatih/structs v1.1.0 // indirect
	github.com/fsnotify/fsnotify v1.9.0 // indirect
	github.com/inconshreveable/mousetrap v1.1.0 // indirect
	github.com/knadh/koanf/maps v0.1.2 // indirect
	github.com/kr/pretty v0.3.1 // indirect
	github.com/mattn/go-colorable v0.1.14 // indirect
	github.com/mattn/go-isatty v0.0.20 // indirect
	github.com/mattn/go-runewidth v0.0.19 // indirect
	github.com/mitchellh/copystructure v1.2.0 // indirect
	github.com/mitchellh/reflectwalk v1.0.2 // indirect
	github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
	github.com/rogpeppe/go-internal v1.14.1 // indirect
	github.com/stretchr/objx v0.5.3 // indirect
	github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
	go.yaml.in/yaml/v3 v3.0.4 // indirect
	golang.org/x/mod v0.33.0 // indirect
	golang.org/x/sync v0.19.0 // indirect
	golang.org/x/sys v0.41.0 // indirect
	golang.org/x/text v0.34.0 // indirect
	gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
)


================================================
FILE: go.sum
================================================
github.com/brunoga/deep v1.3.1 h1:bSrL6FhAZa6JlVv4vsi7Hg8SLwroDb1kgDERRVipBCo=
github.com/brunoga/deep v1.3.1/go.mod h1:GDV6dnXqn80ezsLSZ5Wlv1PdKAWAO4L5PnKYtv2dgaI=
github.com/clipperhouse/uax29/v2 v2.2.0 h1:ChwIKnQN3kcZteTXMgb1wztSgaU+ZemkgWdohwgs8tY=
github.com/clipperhouse/uax29/v2 v2.2.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro=
github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jedib0t/go-pretty/v6 v6.7.8 h1:BVYrDy5DPBA3Qn9ICT+PokP9cvCv1KaHv2i+Hc8sr5o=
github.com/jedib0t/go-pretty/v6 v6.7.8/go.mod h1:YwC5CE4fJ1HFUDeivSV1r//AmANFHyqczZk+U6BDALU=
github.com/knadh/koanf/maps v0.1.2 h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo=
github.com/knadh/koanf/maps v0.1.2/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/parsers/yaml v1.1.0 h1:3ltfm9ljprAHt4jxgeYLlFPmUaunuCgu1yILuTXRdM4=
github.com/knadh/koanf/parsers/yaml v1.1.0/go.mod h1:HHmcHXUrp9cOPcuC+2wrr44GTUB0EC+PyfN3HZD9tFg=
github.com/knadh/koanf/providers/env v1.1.0 h1:U2VXPY0f+CsNDkvdsG8GcsnK4ah85WwWyJgef9oQMSc=
github.com/knadh/koanf/providers/env v1.1.0/go.mod h1:QhHHHZ87h9JxJAn2czdEl6pdkNnDh/JS1Vtsyt65hTY=
github.com/knadh/koanf/providers/file v1.2.1 h1:bEWbtQwYrA+W2DtdBrQWyXqJaJSG3KrP3AESOJYp9wM=
github.com/knadh/koanf/providers/file v1.2.1/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA=
github.com/knadh/koanf/providers/posflag v1.0.1 h1:EnMxHSrPkYCFnKgBUl5KBgrjed8gVFrcXDzaW4l/C6Y=
github.com/knadh/koanf/providers/posflag v1.0.1/go.mod h1:3Wn3+YG3f4ljzRyCUgIwH7G0sZ1pMjCOsNBovrbKmAk=
github.com/knadh/koanf/providers/structs v1.0.0 h1:DznjB7NQykhqCar2LvNug3MuxEQsZ5KvfgMbio+23u4=
github.com/knadh/koanf/providers/structs v1.0.0/go.mod h1:kjo5TFtgpaZORlpoJqcbeLowM2cINodv8kX+oFAeQ1w=
github.com/knadh/koanf/v2 v2.3.2 h1:Ee6tuzQYFwcZXQpc2MiVeC6qHMandf5SMUJJNoFp/c4=
github.com/knadh/koanf/v2 v2.3.2/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw=
github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4=
github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo=
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a h1:ovFr6Z0MNmU7nH8VaX5xqw+05ST2uO1exVfZPVqRC5o=
golang.org/x/exp v0.0.0-20260212183809-81e46e3db34a/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA=
golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8=
golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w=
golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg=
golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM=
golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k=
golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=


================================================
FILE: go.work
================================================
go 1.25.0

use (
	.
	./internal/fixtures/example_project/pkg_with_submodules
	./tools
)


================================================
FILE: go.work.sum
================================================
cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14=
cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU=
cloud.google.com/go/ai v0.8.0 h1:rXUEz8Wp2OlrM8r1bfmpF2+VKqc1VJpafE3HgzRnD/w=
cloud.google.com/go/ai v0.8.0/go.mod h1:t3Dfk4cM61sytiggo2UyGsDVW3RF1qGZaUKDrZFyqkE=
cloud.google.com/go/auth v0.8.1 h1:QZW9FjC5lZzN864p13YxvAtGUlQ+KgRL+8Sg45Z6vxo=
cloud.google.com/go/auth v0.8.1/go.mod h1:qGVp/Y3kDRSDZ5gFD/XPUfYQ9xW1iI7q8RIRoCyBbJc=
cloud.google.com/go/auth/oauth2adapt v0.2.3 h1:MlxF+Pd3OmSudg/b1yZ5lJwoXCEaeedAguodky1PcKI=
cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I=
cloud.google.com/go/bigquery v1.8.0 h1:PQcPefKFdaIzjQFbiyOgAqyx8q5djaE7x9Sqe712DPA=
cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY=
cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY=
cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ=
cloud.google.com/go/longrunning v0.5.7 h1:WLbHekDbjK1fVFD3ibpFFVoyizlLRl73I7YKuAKilhU=
cloud.google.com/go/longrunning v0.5.7/go.mod h1:8GClkudohy1Fxm3owmBGid8W0pSgodEMwEAztp38Xng=
cloud.google.com/go/pubsub v1.3.1 h1:ukjixP1wl0LpnZ6LWtZJ0mX5tBmjp1f8Sqer8Z2OMUU=
cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E=
github.com/bwesterb/go-ristretto v1.2.3 h1:1w53tCkGhCQ5djbat3+MH0BAQ5Kfgbt56UZQ/JMzngw=
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8=
github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f h1:WBZRG4aNOuI15bLRrCgN8fCq8E5Xuty6jGbmSNEvSsU=
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
github.com/cristalhq/acmd v0.12.0 h1:RdlKnxjN+txbQosg8p/TRNZ+J1Rdne43MVQZ1zDhGWk=
github.com/cristalhq/acmd v0.12.0/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ=
github.com/envoyproxy/go-control-plane v0.9.4 h1:rEvIZUSZ3fx39WIi3JkQqQBitGwpELBIYWeBVh6wn+E=
github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A=
github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY=
github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I=
github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ=
github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/godbus/dbus/v5 v5.0.4 h1:9349emZab16e7zQvpmsbtjc18ykshndd8y2PG3sgJbA=
github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc=
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/generative-ai-go v0.17.0 h1:kUmCXUIwJouD7I7ev3OmxzzQVICyhIWAxaXk2yblCMY=
github.com/google/generative-ai-go v0.17.0/go.mod h1:JYolL13VG7j79kM5BtHz4qwONHkeJQzOCkKXnpqtS/E=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian/v3 v3.0.0 h1:pMen7vLs8nvgEYhywH3KDWJIJTeEr2ULsVWHWYHQyBs=
github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA=
github.com/google/renameio/v2 v2.0.0 h1:UifI23ZTGY8Tt29JbYFiuyIU3eX+RNFtUwefq9qAhxg=
github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4=
github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM=
github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs=
github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s=
github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0=
github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/QJi9w=
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6 h1:UDMh68UUwekSh5iP2OMhRRZJiiBccgV7axzUG8vi56c=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY=
github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA=
github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo=
github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 h1:zpIH83+oKzcpryru8ceC6BxnoG8TBrhgAvRg8obzup0=
github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg=
github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc=
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mmcloughlin/avo v0.5.0 h1:nAco9/aI9Lg2kiuROBY6BhCI/z0t5jEvJfjWbL8qXLU=
github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5 h1:0KqC6/sLy7fDpBdybhVkkv4Yz+PmB7c9Dz9z3dLW804=
github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI=
github.com/otiai10/mint v1.3.1 h1:BCmzIS3n71sGfHB5NMNDB3lHYPz8fWSkCAErHed//qc=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA=
github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A=
github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA=
github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71 h1:CNooiryw5aisadVfzneSZPswRWvnVW8hF1bS/vo8ReI=
github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50=
github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc=
github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/shirou/gopsutil/v3 v3.24.5 h1:i0t8kL+kQTvpAYToeuiVk3TgDeKOFioZO3Ztz/iZ9pI=
github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk=
github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM=
github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ=
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM=
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/quicktemplate v1.8.0 h1:zU0tjbIqTRgKQzFY1L42zq0qR3eh4WoQQdIdqCysW5k=
github.com/valyala/quicktemplate v1.8.0/go.mod h1:qIqW8/igXt8fdrUln5kOSb+KWMaJ4Y8QUsfd1k6L2jM=
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE=
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0 h1:A3SayB3rNyt+1S6qpI9mHPkeHTZbD7XILEqWnYZb2l0=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0/go.mod h1:27iA5uvhuRNmalO+iEUdVn5ZMj2qy10Mm+XRIpRmyuU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 h1:Xs2Ncz0gNihqu9iosIZ5SkBbWo5T8JhhLJFMQL1qmLI=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0/go.mod h1:vy+2G/6NvVMpwGX/NyLqcC41fxepnuKHk16E6IZUcJc=
go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs=
go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4=
go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30=
go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4=
go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA=
go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0=
golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs=
golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60=
golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM=
golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA=
golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/telemetry v0.0.0-20250807160809-1a19826ec488 h1:3doPGa+Gg4snce233aCWnbZVFsyFMo/dR40KK/6skyE=
golang.org/x/telemetry v0.0.0-20250807160809-1a19826ec488/go.mod h1:fGb/2+tgXXjhjHsTNdVEEMZNWA0quBnfrO+AfoDSAKw=
golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4 h1:bTLqdHv7xrGlFbvf5/TXNxy/iUwwdkjhqQTJDjW7aj0=
golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4/go.mod h1:g5NllXBEermZrmR51cJDQxmJUHUOfRAaNyWBM+R+548=
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
google.golang.org/api v0.192.0 h1:PljqpNAfZaaSpS+TnANfnNAXKdzHM/B9bKhwRlo7JP0=
google.golang.org/api v0.192.0/go.mod h1:9VcphjvAxPKLmSxVSzPlSRXy/5ARMEw5bf58WoVXafQ=
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987 h1:PDIOdWxZ8eRizhKa1AAvY53xsvLB1cWorMjslvY3VA8=
google.golang.org/genproto/googleapis/api v0.0.0-20240711142825-46eb208f015d h1:kHjw/5UfflP/L5EbledDrcG4C2597RtymmGRZvHiCuY=
google.golang.org/genproto/googleapis/api v0.0.0-20240711142825-46eb208f015d/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf h1:liao9UHurZLtiEwBgT9LMOnKYsHze6eA6w1KQCMVN2Q=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY=
google.golang.org/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA=
google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
mvdan.cc/editorconfig v0.2.1-0.20231228180347-1925077f8eb2 h1:8nmqQGVnHUtHuT+yvuA49lQK0y5il5IOr2PtCBkDI2M=
mvdan.cc/editorconfig v0.2.1-0.20231228180347-1925077f8eb2/go.mod h1:r8RiQJRtzrPrZdcdEs5VCMqvRxAzYDUu9a4S9z7fKh8=
rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE=
rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY=
rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4=


================================================
FILE: internal/cmd/init.go
================================================
package cmd

import (
	"context"
	"fmt"
	"os"

	"github.com/spf13/cobra"
	"github.com/vektra/mockery/v3/config"
	"github.com/vektra/mockery/v3/internal/logging"
	"gopkg.in/yaml.v3"
)

func addr[T any](v T) *T {
	return &v
}

func NewInitCmd() *cobra.Command {
	return &cobra.Command{
		Use:   "init [module_name]",
		Short: "Generate a basic .mockery.yml file",
		Long:  `This command generates a basic .mockery.yml file that can be used as a starting point for your config.`,
		Args:  cobra.ExactArgs(1),
		Run: func(cmd *cobra.Command, args []string) {
			initRun(args, cmd.Parent().PersistentFlags())
		},
	}
}

type argGetter interface {
	GetString(name string) (string, error)
}

func initRun(args []string, params argGetter) {
	log, err := logging.GetLogger("info")
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
	filename, err := params.GetString("config")
	if err != nil {
		log.Err(err).Msg("failed to get --config value")
		os.Exit(1)
	}
	if filename == "" {
		filename = ".mockery.yml"
	}

	moduleName := args[0]
	log.Info().Str("file", filename).Msg("writing to file")
	defer log.Info().Msg("done")

	ctx := log.WithContext(context.Background())
	k, err := config.NewDefaultKoanf(ctx)
	if err != nil {
		log.Err(err).Msg("failed getting koanf")
		os.Exit(1)
	}
	rootConf := &config.RootConfig{}
	if err := k.Unmarshal("", rootConf); err != nil {
		log.Err(err).Msg("failed to unmarshal koanf")
		os.Exit(1)
	}
	rootConf.Packages = map[string]*config.PackageConfig{
		moduleName: {
			Config: &config.Config{
				All: addr(true),
			},
			Interfaces: map[string]*config.InterfaceConfig{},
		},
	}

	outFile := filename
	f, err := os.Create(outFile)
	if err != nil {
		log.Err(err).Msg("failed to open file")
		os.Exit(1)
	}
	defer f.Close()

	encoder := yaml.NewEncoder(f)
	defer encoder.Close()
	encoder.SetIndent(2)
	if err := encoder.Encode(rootConf); err != nil {
		log.Err(err).Msg("failed to encode")
		os.Exit(1)
	}
}


================================================
FILE: internal/cmd/init_test.go
================================================
package cmd

import (
	"os"
	"path/filepath"
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
)

var expectedConfig string = `all: false
dir: '{{.InterfaceDir}}'
filename: mocks_test.go
force-file-write: true
formatter: goimports
formatter-options:
  goimports:
    all-errors: false
    comments: true
    format-only: true
    fragment: false
    local-prefix: ""
    tab-indent: true
    tab-width: 8
generate: true
include-auto-generated: false
log-level: info
structname: '{{.Mock}}{{.InterfaceName}}'
pkgname: '{{.SrcPackageName}}'
recursive: false
require-template-schema-exists: true
template: testify
template-schema: '{{.Template}}.schema.json'
packages:
  github.com/org/repo:
    config:
      all: true
`

func Test_initRun(t *testing.T) {
	type args struct {
		args   []string
		params func(t *testing.T, configPath string) argGetter
	}
	tests := []struct {
		name       string
		configPath string
		args       args
	}{
		{
			name: "specify --config case",
			args: args{
				args: []string{"github.com/org/repo"},
				params: func(t *testing.T, configPath string) argGetter {
					m := newMockargGetter(t)
					m.EXPECT().GetString("config").Return(configPath, nil)
					return m
				},
			},
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			tmpDir := t.TempDir()
			config := filepath.Join(tmpDir, "out.yml")
			initRun(tt.args.args, tt.args.params(t, config))

			b, err := os.ReadFile(config)
			require.NoError(t, err)
			assert.Equal(t, expectedConfig, string(b))
		})
	}
}


================================================
FILE: internal/cmd/migrate.go
================================================
package cmd

import (
	"context"
	"fmt"
	"os"
	"reflect"
	"strings"

	"github.com/jedib0t/go-pretty/v6/table"
	"github.com/jedib0t/go-pretty/v6/text"
	"github.com/rs/zerolog"
	"github.com/spf13/cobra"
	"github.com/vektra/mockery/v3/config"
	internalConfig "github.com/vektra/mockery/v3/internal/config"
	"github.com/vektra/mockery/v3/internal/logging"
	"golang.org/x/term"
	"gopkg.in/yaml.v3"
)

func NewMigrateCmd() *cobra.Command {
	cmd := &cobra.Command{
		Use:   "migrate",
		Short: "Migrate v2 config to v3.",
		Long:  `This command automatically migrates a v2 config to v3.`,
		Run: func(cmd *cobra.Command, args []string) {
			logLevel, err := cmd.Flags().GetString("log-level")
			if err != nil {
				fmt.Printf("%v\n", err)
				os.Exit(1)
			}
			if logLevel == "" {
				logLevel = "info"
			}
			log, err := logging.GetLogger(logLevel)
			if err != nil {
				fmt.Printf("%v\n", err)
				os.Exit(1)
			}

			ctx := log.WithContext(context.Background())
			v2ConfPath, err := cmd.Flags().GetString("config")
			if err != nil {
				log.Err(err).Msg("failed to get parameter")
				os.Exit(1)
			}
			v3ConfigPath, err := cmd.Flags().GetString("outfile")
			if err != nil {
				log.Err(err).Msg("failed to get parameter")
				os.Exit(1)
			}

			if err := run(
				ctx,
				v2ConfPath,
				v3ConfigPath,
			); err != nil {
				log.Err(err).Msg("failed to run")
				fmt.Printf("%v\n", err)
				os.Exit(1)
			}
		},
	}
	flags := cmd.PersistentFlags()
	flags.String("outfile", ".mockery_v3.yml", "Location of the ouptut v3 file.")

	return cmd
}

type tableWriter struct {
	seenMessages     map[string]any
	tbl              table.Writer
	idx              int
	termWidth        int
	messageWrapWidth int
}

func newTableWriter(ctx context.Context) *tableWriter {
	log := zerolog.Ctx(ctx)
	tbl := table.NewWriter()

	width, _, err := term.GetSize(int(os.Stdout.Fd())) //nolint:gosec // integer overflow warnings are inevitable because of argument types
	if err != nil {
		log.Warn().Err(err).Msg("failed to get terminal size")
	} else {
		tbl.SetOutputMirror(os.Stdout)
	}

	tbl.SetTitle("Deprecations")
	tbl.Style().Title.Align = text.AlignCenter
	tbl.Style().Box = table.StyleBoxRounded
	tbl.Style().Size.WidthMax = width
	tbl.Style().Options.SeparateRows = true
	tbl.Style().Options.SeparateColumns = false

	tbl.AppendHeader(
		table.Row{
			"Idx",
			"Deprecation Type",
			"Message",
		},
	)

	return &tableWriter{
		seenMessages:     map[string]any{},
		tbl:              tbl,
		idx:              0,
		termWidth:        width,
		messageWrapWidth: width - 35,
	}
}

func (t *tableWriter) Append(depType string, msg string) {
	if _, seen := t.seenMessages[msg]; seen {
		return
	}
	t.seenMessages[msg] = struct{}{}
	t.tbl.AppendRow(table.Row{
		fmt.Sprintf("%d", t.idx),
		depType,
		text.WrapSoft(msg, t.messageWrapWidth),
	})
	t.idx++
}

func (t *tableWriter) Render() {
	t.tbl.Render()
}

func run(ctx context.Context, confPathStr string, v3ConfPath string) error {
	var confPath string
	var err error

	log := zerolog.Ctx(ctx)
	if confPathStr == "" {
		confPath, err = internalConfig.FindConfig()
		if err != nil {
			return fmt.Errorf("finding config: %w", err)
		}
	} else {
		confPath = confPathStr
	}
	log.UpdateContext(func(c zerolog.Context) zerolog.Context {
		return c.Str("config", confPath)
	})
	log.Info().Msg("using config")

	var v2 V2RootConfig
	f, err := os.Open(confPath)
	if err != nil {
		return fmt.Errorf("opening config file: %w", err)
	}
	defer f.Close()
	decoder := yaml.NewDecoder(f)
	decoder.KnownFields(true)
	if err := decoder.Decode(&v2); err != nil {
		log.Error().Msg("v2 config could not be decoded. Are you sure this is a v2 config file?")
		return fmt.Errorf("decoding v2 config: %w", err)
	}

	var v3 config.RootConfig
	var v3Config *config.Config = &config.Config{}
	v3Config.TemplateData = map[string]any{}
	// unroll-variadic is defaulted to true in v2, so we should set this as
	// the top-level default (unless of course it has been explicitly set
	// at the top-level v2 config)
	v3Config.TemplateData["unroll-variadic"] = addr(true)

	tbl := newTableWriter(ctx)

	migrateConfig(ctx, tbl, &v2.V2Config, &v3Config)
	v3Config.Template = addr("testify")
	v3.Config = *v3Config

	for pkgName, pkgConfig := range v2.Packages {
		pkgLog := log.With().Str("pkg-name", pkgName).Logger()
		pkgCtx := pkgLog.WithContext(ctx)

		v3PkgConfig := &config.PackageConfig{}
		if v3.Packages == nil {
			v3.Packages = map[string]*config.PackageConfig{}
		}
		v3.Packages[pkgName] = v3PkgConfig
		migrateConfig(pkgCtx, tbl, pkgConfig.Config, &v3PkgConfig.Config)

		for interfaceName, interfaceConfig := range pkgConfig.Interfaces {
			ifaceLog := pkgLog.With().Str("interface-name", interfaceName).Logger()
			ifaceCtx := ifaceLog.WithContext(pkgCtx)

			v3InterfaceConfig := config.InterfaceConfig{}
			if v3PkgConfig.Interfaces == nil {
				v3PkgConfig.Interfaces = map[string]*config.InterfaceConfig{}
			}
			v3PkgConfig.Interfaces[interfaceName] = &v3InterfaceConfig

			migrateConfig(ifaceCtx, tbl, interfaceConfig.Config, &v3InterfaceConfig.Config)

			for _, v2SubConfig := range interfaceConfig.Configs {
				v3SubConfig := &config.Config{}
				v3InterfaceConfig.Configs = append(v3InterfaceConfig.Configs, v3SubConfig)
				migrateConfig(ifaceCtx, tbl, &v2SubConfig, &v3SubConfig)
			}
		}
	}

	outFile := v3ConfPath
	file, err := os.Create(outFile)
	if err != nil {
		return fmt.Errorf("opening .mockery_v3.yml: %w", err)
	}
	defer file.Close()

	encoder := yaml.NewEncoder(file)
	defer encoder.Close()
	encoder.SetIndent(2)

	log.Info().Str("v3-config", outFile).Msg("writing v3 config")
	if err := encoder.Encode(v3); err != nil {
		return fmt.Errorf("encoding .mockery_v3.yml: %w", err)
	}

	if len(tbl.seenMessages) != 0 {
		log.Warn().Msg("breaking changes detected that possibly require manual intervention. See table below.")
		tbl.Render()
	}
	return nil
}

func checkDeprecatedTemplateVariables(
	ctx context.Context,
	conf *V2Config,
	tbl *tableWriter,
) {
	log := zerolog.Ctx(ctx)
	confValue := reflect.ValueOf(conf).Elem()
	for i := range confValue.NumField() {
		fieldValue := confValue.Field(i)

		isPointerToString := fieldValue.Kind() == reflect.Pointer && fieldValue.Elem().Kind() == reflect.String
		isString := fieldValue.Kind() == reflect.String

		if !isPointerToString && !isString {
			log.Debug().Str("field", fieldValue.String()).Bool("pointerToString", isPointerToString).Bool("string", isString).Msg("field is not a pointer")
			continue
		}
		var fieldAsString string
		if isString {
			fieldAsString = fieldValue.Interface().(string
Download .txt
gitextract_dgckkgnh/

├── .boilerplate.txt
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   └── bug_report.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/
│       ├── documentation.yml
│       ├── release.yml
│       ├── reusable-testing.yml
│       ├── tag-and-release.yml
│       ├── testing-dispatch.yml
│       └── testing.yml
├── .gitignore
├── .golangci.yml
├── .goreleaser.yml
├── .mockery_matryer.yml
├── .mockery_testify.yml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── Taskfile.yml
├── codecov.yml
├── config/
│   ├── README.md
│   ├── config.go
│   └── config_test.go
├── docs/
│   ├── configuration.md
│   ├── dev-notes.md
│   ├── faq.md
│   ├── generate-directive.md
│   ├── include-auto-generated.md
│   ├── index.md
│   ├── inpackage.md
│   ├── installation.md
│   ├── javascripts/
│   │   └── tablesort.js
│   ├── replace-type.md
│   ├── requirements.txt
│   ├── stylesheets/
│   │   └── extra.css
│   ├── template/
│   │   ├── index.md
│   │   ├── matryer.md
│   │   └── testify.md
│   └── v3.md
├── e2e/
│   ├── run_all.sh
│   ├── test_infinite_mocking.sh
│   ├── test_missing_interface/
│   │   ├── .mockery.yml
│   │   └── run.sh
│   ├── test_mockery_generation.sh
│   ├── test_remote_templates/
│   │   └── remote_templates_test.go
│   ├── test_template_data_schema_validation/
│   │   ├── .mockery.yml
│   │   ├── template.templ
│   │   ├── template.templ.schema.json
│   │   └── validation_test.go
│   └── test_template_exercise/
│       ├── .mockery.yml
│       ├── exercise.templ
│       ├── exercise.templ.schema.json
│       ├── exercise_expected.txt
│       └── exercise_test.go
├── foo.go
├── foo_test.go
├── go.mod
├── go.sum
├── go.work
├── go.work.sum
├── internal/
│   ├── cmd/
│   │   ├── init.go
│   │   ├── init_test.go
│   │   ├── migrate.go
│   │   ├── migrate_test.go
│   │   ├── mockery.go
│   │   ├── mocks_testify_cmd_test.go
│   │   ├── showconfig.go
│   │   └── version.go
│   ├── config/
│   │   └── config.go
│   ├── errors.go
│   ├── file/
│   │   ├── exists.go
│   │   ├── exists_test.go
│   │   ├── find.go
│   │   └── find_test.go
│   ├── fixtures/
│   │   ├── 12345678/
│   │   │   └── http/
│   │   │       └── http.go
│   │   ├── any_keyword.go
│   │   ├── argument_is_func_type.go
│   │   ├── argument_is_map_func.go
│   │   ├── async.go
│   │   ├── auto_generated_skip/
│   │   │   ├── auto_generated.go
│   │   │   ├── foo.go
│   │   │   ├── foo_test.go
│   │   │   └── mocks_testify_autogeneratedskip_test.go
│   │   ├── buildtag/
│   │   │   ├── comment/
│   │   │   │   ├── custom2_iface.go
│   │   │   │   ├── custom_iface.go
│   │   │   │   ├── darwin_iface.go
│   │   │   │   ├── freebsd_iface.go
│   │   │   │   ├── linux_iface.go
│   │   │   │   ├── mocks_testify_comment_test.go
│   │   │   │   └── windows_iface.go
│   │   │   └── filename/
│   │   │       ├── iface_darwin.go
│   │   │       ├── iface_freebsd.go
│   │   │       ├── iface_linux.go
│   │   │       └── iface_windows.go
│   │   ├── constraint_ifaces/
│   │   │   ├── constraint_interfaces.go
│   │   │   └── constraint_interfaces_test.go
│   │   ├── constraints/
│   │   │   └── constraints.go
│   │   ├── consul.go
│   │   ├── custom_error.go
│   │   ├── directive_comments/
│   │   │   ├── directive_comments.go
│   │   │   ├── directive_comments_test.go
│   │   │   ├── mocks_matryer_directive_comments_test.go
│   │   │   ├── mocks_testify_directive_comments_test.go
│   │   │   └── server_with_different_file.go
│   │   ├── directive_comments_example/
│   │   │   └── interface.go
│   │   ├── empty_interface.go
│   │   ├── empty_return/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mocks_matryer_empty_return_test.go
│   │   │   └── mocks_testify_empty_return_test.go
│   │   ├── example_project/
│   │   │   ├── bar/
│   │   │   │   └── foo/
│   │   │   │       └── client.go
│   │   │   ├── baz/
│   │   │   │   ├── foo.go
│   │   │   │   └── internal/
│   │   │   │       └── foo/
│   │   │   │           └── foo.go
│   │   │   ├── context/
│   │   │   │   └── context.go
│   │   │   ├── foo/
│   │   │   │   ├── foo.go
│   │   │   │   └── pkg_name_same_as_import.go
│   │   │   ├── mocks_testify_example_project_test.go
│   │   │   ├── pkg_with_submodules/
│   │   │   │   ├── go.mod
│   │   │   │   ├── string.go
│   │   │   │   ├── submodule/
│   │   │   │   │   ├── go.mod
│   │   │   │   │   └── string.go
│   │   │   │   └── subpkg/
│   │   │   │       ├── string.go
│   │   │   │       └── submodule/
│   │   │   │           ├── go.mod
│   │   │   │           └── string.go
│   │   │   ├── pkg_with_subpkgs/
│   │   │   │   ├── foo.go
│   │   │   │   ├── subpkg1/
│   │   │   │   │   └── foo.go
│   │   │   │   └── subpkg2/
│   │   │   │       ├── foo.go
│   │   │   │       └── subpkg3/
│   │   │   │           └── foo.go
│   │   │   ├── replace_type/
│   │   │   │   ├── README.md
│   │   │   │   ├── mocks_testify_replace_type_test.go
│   │   │   │   ├── rt.go
│   │   │   │   ├── rt_test.go
│   │   │   │   └── rti/
│   │   │   │       ├── internal/
│   │   │   │       │   └── rti.go
│   │   │   │       ├── rt1/
│   │   │   │       │   └── rt1.go
│   │   │   │       └── rt2/
│   │   │   │           └── rt2.go
│   │   │   ├── root.go
│   │   │   ├── string.go
│   │   │   └── string_test.go
│   │   ├── expecter.go
│   │   ├── expecter_test.go
│   │   ├── func_args_collision.go
│   │   ├── function.go
│   │   ├── generic.go
│   │   ├── http/
│   │   │   └── http.go
│   │   ├── iface_new_type/
│   │   │   ├── iface_new_type_test.go
│   │   │   ├── interface.go
│   │   │   ├── mocks_testify_iface_new_type_test.go
│   │   │   └── subpkg/
│   │   │       └── interface.go
│   │   ├── iface_typed_param/
│   │   │   ├── getter_iface_typed_param.go
│   │   │   ├── main_test.go
│   │   │   └── mocks_testify_iface_typed_param_test.go
│   │   ├── iface_typed_param_lowercase/
│   │   │   ├── getter_iface_typed_param.go
│   │   │   ├── main_test.go
│   │   │   └── mocks_testify_iface_typed_param_lowercase_test.go
│   │   ├── imports_from_nested_interface.go
│   │   ├── imports_same_as_package.go
│   │   ├── include_auto_generated/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── mocks_testify_includeautogenerated_test.go
│   │   ├── index_list_expr/
│   │   │   ├── index_list_expression.go
│   │   │   ├── index_list_expression_test.go
│   │   │   └── mocks_testify_index_list_expr_test.go
│   │   ├── inpackage/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── subpkg/
│   │   │       └── mocks_testify_inpackage_test.go
│   │   ├── instantiated_generic_interface.go
│   │   ├── instantiated_generic_struct.go
│   │   ├── interface_dir_relative/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── internal/
│   │   │   │   └── fixtures/
│   │   │   │       └── interface_dir_relative/
│   │   │   │           └── mocks.go
│   │   │   └── mocks/
│   │   │       └── fixtures/
│   │   │           └── interface_dir_relative/
│   │   │               └── mocks.go
│   │   ├── io_import.go
│   │   ├── issue_766.go
│   │   ├── issue_766_test.go
│   │   ├── map_to_interface.go
│   │   ├── method_args/
│   │   │   └── same_name_arg_and_type/
│   │   │       ├── entity.go
│   │   │       ├── entity_test.go
│   │   │       └── mocks_testify_same_name_arg_and_type_test.go
│   │   ├── mock_method_uses_pkg_iface.go
│   │   ├── mocks_io_test.go
│   │   ├── mocks_matryer_test_test.go
│   │   ├── mocks_net_http_test.go
│   │   ├── mocks_testify_test_test.go
│   │   ├── multi_template/
│   │   │   ├── README.md
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mocks_matryer_multitemplate_test.go
│   │   │   └── mocks_testify_multitemplate_test.go
│   │   ├── nil_run.go
│   │   ├── nil_run_test.go
│   │   ├── output_dir/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mock/
│   │   │   │   └── mocks_matryer_output_dir_test.go
│   │   │   ├── mocks_matryer_output_dir_test.go
│   │   │   └── output_dir/
│   │   │       └── mocks_matryer_output_dir_test.go
│   │   ├── panic_err.go
│   │   ├── panic_err_test.go
│   │   ├── pkg_with_no_files/
│   │   │   └── subpkg/
│   │   │       └── foo.go
│   │   ├── recursive_generation/
│   │   │   ├── foo.go
│   │   │   ├── mocks_testify_recursive_generation_test.go
│   │   │   ├── subpkg1/
│   │   │   │   ├── foo.go
│   │   │   │   └── mocks_testify_subpkg1_test.go
│   │   │   ├── subpkg2/
│   │   │   │   ├── foo.go
│   │   │   │   └── mocks_testify_subpkg2_test.go
│   │   │   └── subpkg_with_only_autogenerated_files/
│   │   │       └── foo.go
│   │   ├── recursive_generation_with_subpkg_exclude/
│   │   │   ├── foo.go
│   │   │   ├── foo_test.go
│   │   │   ├── mocks.go
│   │   │   ├── subpkg1/
│   │   │   │   ├── foo.go
│   │   │   │   └── mocks.go
│   │   │   └── subpkg2/
│   │   │       └── foo.go
│   │   ├── redefined_type_b/
│   │   │   └── redefined_type_b.go
│   │   ├── replace_type_pointers/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── mocks_testify_replace_type_pointers_test.go
│   │   ├── requester.go
│   │   ├── requester2.go
│   │   ├── requester3.go
│   │   ├── requester4.go
│   │   ├── requester_arg_same_as_import.go
│   │   ├── requester_arg_same_as_named_import.go
│   │   ├── requester_arg_same_as_pkg.go
│   │   ├── requester_array.go
│   │   ├── requester_elided.go
│   │   ├── requester_iface.go
│   │   ├── requester_ns.go
│   │   ├── requester_ptr.go
│   │   ├── requester_ret_elided.go
│   │   ├── requester_slice.go
│   │   ├── requester_test.go
│   │   ├── requester_unexported.go
│   │   ├── requester_variadic.go
│   │   ├── same_name_imports.go
│   │   ├── struct_value.go
│   │   ├── struct_with_tag.go
│   │   ├── template_exercise/
│   │   │   └── exercise.go
│   │   ├── type_alias/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   ├── mocks_testify_type_alias_test.go
│   │   │   └── subpkg/
│   │   │       └── interface.go
│   │   ├── unexported/
│   │   │   ├── interface.go
│   │   │   ├── interface_test.go
│   │   │   └── mocks_testify_unexported_test.go
│   │   ├── unsafe.go
│   │   ├── variadic.go
│   │   ├── variadic_return_func.go
│   │   ├── variadic_return_func_test.go
│   │   ├── variadic_with_multiple_returns.go
│   │   ├── variadic_with_multiple_returns_test.go
│   │   └── variadic_with_no_returns.go
│   ├── interface.go
│   ├── logging/
│   │   ├── logging.go
│   │   └── logging_test.go
│   ├── mock_matryer.templ
│   ├── mock_matryer.templ.schema.json
│   ├── mock_testify.templ
│   ├── mock_testify.templ.schema.json
│   ├── mockery_test.go
│   ├── node_visitor.go
│   ├── parse.go
│   ├── remote_template.go
│   ├── stackerr/
│   │   ├── stackerr.go
│   │   └── stackerr_test.go
│   ├── template_generator.go
│   └── template_generator_test.go
├── main.go
├── mkdocs.yml
├── mockery-tools.env
├── mocks_testify_main_test.go
├── template/
│   ├── README.md
│   ├── comment_group.go
│   ├── comments.go
│   ├── data.go
│   ├── interface.go
│   ├── interfaces.go
│   ├── method.go
│   ├── method_scope.go
│   ├── package.go
│   ├── packages.go
│   ├── param.go
│   ├── registry.go
│   ├── template.go
│   ├── template_data.go
│   ├── template_test.go
│   ├── type_param_data.go
│   └── var.go
├── template_funcs/
│   ├── funcmap.go
│   ├── funcmap_test.go
│   ├── functions.go
│   └── functions_test.go
└── tools/
    ├── cmd/
    │   ├── root.go
    │   └── tag.go
    ├── go.mod
    ├── go.sum
    ├── main.go
    └── tools.go
Download .txt
Showing preview only (217K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2300 symbols across 220 files)

FILE: config/config.go
  type TemplateData (line 42) | type TemplateData struct
  function addr (line 65) | func addr[T any](v T) *T {
  function deref (line 69) | func deref[T any](t *T) T {
  function NewDefaultKoanf (line 77) | func NewDefaultKoanf(ctx context.Context) (*koanf.Koanf, error) {
  function defaultFormatterOptions (line 104) | func defaultFormatterOptions() *FormatterOptions {
  type RootConfig (line 120) | type RootConfig struct
    method ConfigFileUsed (line 246) | func (c *RootConfig) ConfigFileUsed() string {
    method Initialize (line 322) | func (c *RootConfig) Initialize(ctx context.Context) error {
    method subPackages (line 380) | func (c *RootConfig) subPackages(pkgPath string) ([]string, error) {
    method GetPackageConfig (line 402) | func (c *RootConfig) GetPackageConfig(ctx context.Context, pkgPath str...
    method GetPackages (line 412) | func (c *RootConfig) GetPackages(ctx context.Context) ([]string, error) {
  function NewRootConfig (line 127) | func NewRootConfig(
  function mergeStringMaps (line 251) | func mergeStringMaps(src, dest map[string]any) {
  function mergeConfigs (line 269) | func mergeConfigs(ctx context.Context, src Config, dest *Config) {
  type PackageConfig (line 420) | type PackageConfig struct
    method Initialize (line 432) | func (c *PackageConfig) Initialize(ctx context.Context) error {
    method GetInterfaceConfig (line 449) | func (c PackageConfig) GetInterfaceConfig(ctx context.Context, interfa...
    method ShouldGenerateInterface (line 499) | func (c PackageConfig) ShouldGenerateInterface(
  function NewPackageConfig (line 425) | func NewPackageConfig() *PackageConfig {
  type InterfaceConfig (line 561) | type InterfaceConfig struct
    method Initialize (line 573) | func (c *InterfaceConfig) Initialize(ctx context.Context) error {
  function NewInterfaceConfig (line 566) | func NewInterfaceConfig() *InterfaceConfig {
  type ReplaceType (line 585) | type ReplaceType struct
  type GoImports (line 590) | type GoImports struct
    method GetLocalPrefix (line 600) | func (g *GoImports) GetLocalPrefix() string {
    method Options (line 604) | func (g *GoImports) Options() *imports.Options {
  type FormatterOptions (line 615) | type FormatterOptions struct
  type Config (line 619) | type Config struct
    method koanfTagNames (line 651) | func (c Config) koanfTagNames() map[string]struct{} {
    method FilePath (line 665) | func (c *Config) FilePath() string {
    method ShouldExcludeSubpkg (line 669) | func (c *Config) ShouldExcludeSubpkg(pkgPath string) bool {
    method ParseTemplates (line 691) | func (c *Config) ParseTemplates(
    method GetReplacement (line 797) | func (c *Config) GetReplacement(pkgPath string, typeName string) *Repl...
  function ExtractDirectiveConfig (line 811) | func ExtractDirectiveConfig(ctx context.Context, decl *ast.GenDecl) (*Co...

FILE: config/config_test.go
  function TestNewRootConfig (line 17) | func TestNewRootConfig(t *testing.T) {
  function TestNewRootConfigUnknownEnvVar (line 60) | func TestNewRootConfigUnknownEnvVar(t *testing.T) {
  function TestNewRootConfigDefaultFormatterOptions (line 76) | func TestNewRootConfigDefaultFormatterOptions(t *testing.T) {
  function TestExtractConfigFromDirectiveComments (line 98) | func TestExtractConfigFromDirectiveComments(t *testing.T) {
  function ptr (line 196) | func ptr[T any](s T) *T {

FILE: e2e/test_remote_templates/remote_templates_test.go
  function TestRemoteTemplates (line 32) | func TestRemoteTemplates(t *testing.T) {

FILE: e2e/test_template_data_schema_validation/validation_test.go
  function TestExercise (line 12) | func TestExercise(t *testing.T) {

FILE: e2e/test_template_exercise/exercise_test.go
  function TestExercise (line 12) | func TestExercise(t *testing.T) {

FILE: foo.go
  type baz (line 3) | type baz
  type foo (line 5) | type foo interface

FILE: foo_test.go
  function TestFoo (line 9) | func TestFoo(t *testing.T) {

FILE: internal/cmd/init.go
  function addr (line 14) | func addr[T any](v T) *T {
  function NewInitCmd (line 18) | func NewInitCmd() *cobra.Command {
  type argGetter (line 30) | type argGetter interface
  function initRun (line 34) | func initRun(args []string, params argGetter) {

FILE: internal/cmd/init_test.go
  function Test_initRun (line 41) | func Test_initRun(t *testing.T) {

FILE: internal/cmd/migrate.go
  function NewMigrateCmd (line 21) | func NewMigrateCmd() *cobra.Command {
  type tableWriter (line 70) | type tableWriter struct
    method Append (line 113) | func (t *tableWriter) Append(depType string, msg string) {
    method Render (line 126) | func (t *tableWriter) Render() {
  function newTableWriter (line 78) | func newTableWriter(ctx context.Context) *tableWriter {
  function run (line 130) | func run(ctx context.Context, confPathStr string, v3ConfPath string) err...
  function checkDeprecatedTemplateVariables (line 229) | func checkDeprecatedTemplateVariables(
  function migrateConfig (line 286) | func migrateConfig(
  type V2RootConfig (line 417) | type V2RootConfig struct
  type V2PackageConfig (line 422) | type V2PackageConfig struct
  type V2InterfaceConfig (line 427) | type V2InterfaceConfig struct
  type V2Config (line 432) | type V2Config struct

FILE: internal/cmd/migrate_test.go
  function TestMigrate (line 287) | func TestMigrate(t *testing.T) {

FILE: internal/cmd/mockery.go
  function NewRootCmd (line 26) | func NewRootCmd() (*cobra.Command, error) {
  function logFatalErr (line 63) | func logFatalErr(ctx context.Context, err error) {
  function Execute (line 69) | func Execute() {
  type RootApp (line 79) | type RootApp struct
    method Run (line 181) | func (r *RootApp) Run() error {
  function GetRootApp (line 83) | func GetRootApp(ctx context.Context, flags *pflag.FlagSet) (*RootApp, er...
  type CollectionConfig (line 98) | type CollectionConfig struct
  type InterfaceCollection (line 112) | type InterfaceCollection struct
    method Append (line 144) | func (i *InterfaceCollection) Append(ctx context.Context, iface *inter...
  function NewInterfaceCollection (line 118) | func NewInterfaceCollection(

FILE: internal/cmd/mocks_testify_cmd_test.go
  function newMockargGetter (line 15) | func newMockargGetter(t interface {
  type mockargGetter (line 28) | type mockargGetter struct
    method EXPECT (line 36) | func (_m *mockargGetter) EXPECT() *mockargGetter_Expecter {
    method GetString (line 41) | func (_mock *mockargGetter) GetString(name string) (string, error) {
  type mockargGetter_Expecter (line 32) | type mockargGetter_Expecter struct
    method GetString (line 73) | func (_e *mockargGetter_Expecter) GetString(name interface{}) *mockarg...
  type mockargGetter_GetString_Call (line 67) | type mockargGetter_GetString_Call struct
    method Run (line 77) | func (_c *mockargGetter_GetString_Call) Run(run func(name string)) *mo...
    method Return (line 90) | func (_c *mockargGetter_GetString_Call) Return(s string, err error) *m...
    method RunAndReturn (line 95) | func (_c *mockargGetter_GetString_Call) RunAndReturn(run func(name str...

FILE: internal/cmd/showconfig.go
  function NewShowConfigCmd (line 15) | func NewShowConfigCmd() *cobra.Command {

FILE: internal/cmd/version.go
  function NewVersionCmd (line 10) | func NewVersionCmd() *cobra.Command {

FILE: internal/config/config.go
  function FindConfig (line 10) | func FindConfig() (string, error) {

FILE: internal/file/exists.go
  function Exists (line 9) | func Exists(name string) (bool, error) {

FILE: internal/file/exists_test.go
  function TestExistsDot (line 9) | func TestExistsDot(t *testing.T) {
  function TestExistsFile (line 15) | func TestExistsFile(t *testing.T) {
  function TestExistsJunk (line 21) | func TestExistsJunk(t *testing.T) {

FILE: internal/file/find.go
  function CleanPath (line 12) | func CleanPath(filePath string) (string, error) {
  function FindInHierarchy (line 22) | func FindInHierarchy(folder string, names []string) (string, []byte, err...

FILE: internal/file/find_test.go
  function TestGoMod (line 10) | func TestGoMod(t *testing.T) {
  function TestNotFound (line 17) | func TestNotFound(t *testing.T) {

FILE: internal/fixtures/12345678/http/http.go
  type MyStruct (line 3) | type MyStruct struct

FILE: internal/fixtures/any_keyword.go
  type UsesAny (line 3) | type UsesAny interface

FILE: internal/fixtures/argument_is_func_type.go
  type Fooer (line 3) | type Fooer interface

FILE: internal/fixtures/argument_is_map_func.go
  type MapFunc (line 3) | type MapFunc interface

FILE: internal/fixtures/async.go
  type AsyncProducer (line 3) | type AsyncProducer interface

FILE: internal/fixtures/auto_generated_skip/auto_generated.go
  type Bar (line 7) | type Bar interface

FILE: internal/fixtures/auto_generated_skip/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/auto_generated_skip/foo_test.go
  function TestFooExists (line 11) | func TestFooExists(t *testing.T) {

FILE: internal/fixtures/auto_generated_skip/mocks_testify_autogeneratedskip_test.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Get (line 41) | func (_mock *MockFoo) Get() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Get (line 63) | func (_e *MockFoo_Expecter) Get() *MockFoo_Get_Call {
  type MockFoo_Get_Call (line 58) | type MockFoo_Get_Call struct
    method Run (line 67) | func (_c *MockFoo_Get_Call) Run(run func()) *MockFoo_Get_Call {
    method Return (line 74) | func (_c *MockFoo_Get_Call) Return(s string) *MockFoo_Get_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Get_Call) RunAndReturn(run func() string) *MockFoo_G...

FILE: internal/fixtures/buildtag/comment/custom2_iface.go
  type IfaceWithCustomBuildTagInComment (line 6) | type IfaceWithCustomBuildTagInComment interface

FILE: internal/fixtures/buildtag/comment/custom_iface.go
  type IfaceWithCustomBuildTagInComment (line 6) | type IfaceWithCustomBuildTagInComment interface

FILE: internal/fixtures/buildtag/comment/darwin_iface.go
  type IfaceWithBuildTagInComment (line 6) | type IfaceWithBuildTagInComment interface

FILE: internal/fixtures/buildtag/comment/freebsd_iface.go
  type IfaceWithBuildTagInComment (line 6) | type IfaceWithBuildTagInComment interface

FILE: internal/fixtures/buildtag/comment/linux_iface.go
  type IfaceWithBuildTagInComment (line 6) | type IfaceWithBuildTagInComment interface

FILE: internal/fixtures/buildtag/comment/mocks_testify_comment_test.go
  function NewMockIfaceWithBuildTagInComment (line 15) | func NewMockIfaceWithBuildTagInComment(t interface {
  type MockIfaceWithBuildTagInComment (line 28) | type MockIfaceWithBuildTagInComment struct
    method EXPECT (line 36) | func (_m *MockIfaceWithBuildTagInComment) EXPECT() *MockIfaceWithBuild...
    method Sprintf (line 41) | func (_mock *MockIfaceWithBuildTagInComment) Sprintf(format string, a ...
  type MockIfaceWithBuildTagInComment_Expecter (line 32) | type MockIfaceWithBuildTagInComment_Expecter struct
    method Sprintf (line 71) | func (_e *MockIfaceWithBuildTagInComment_Expecter) Sprintf(format inte...
  type MockIfaceWithBuildTagInComment_Sprintf_Call (line 64) | type MockIfaceWithBuildTagInComment_Sprintf_Call struct
    method Run (line 76) | func (_c *MockIfaceWithBuildTagInComment_Sprintf_Call) Run(run func(fo...
    method Return (line 96) | func (_c *MockIfaceWithBuildTagInComment_Sprintf_Call) Return(s string...
    method RunAndReturn (line 101) | func (_c *MockIfaceWithBuildTagInComment_Sprintf_Call) RunAndReturn(ru...

FILE: internal/fixtures/buildtag/comment/windows_iface.go
  type IfaceWithBuildTagInComment (line 6) | type IfaceWithBuildTagInComment interface

FILE: internal/fixtures/buildtag/filename/iface_darwin.go
  type IfaceWithBuildTagInFilename (line 3) | type IfaceWithBuildTagInFilename interface

FILE: internal/fixtures/buildtag/filename/iface_freebsd.go
  type IfaceWithBuildTagInFilename (line 3) | type IfaceWithBuildTagInFilename interface

FILE: internal/fixtures/buildtag/filename/iface_linux.go
  type IfaceWithBuildTagInFilename (line 3) | type IfaceWithBuildTagInFilename interface

FILE: internal/fixtures/buildtag/filename/iface_windows.go
  type IfaceWithBuildTagInFilename (line 3) | type IfaceWithBuildTagInFilename interface

FILE: internal/fixtures/constraint_ifaces/constraint_interfaces.go
  type Skip1 (line 5) | type Skip1
  type Skip2 (line 7) | type Skip2 interface
  type Skip3 (line 11) | type Skip3 interface
  type Skip4 (line 15) | type Skip4 interface
  type Skip5 (line 19) | type Skip5
  type Skip6 (line 21) | type Skip6 interface

FILE: internal/fixtures/constraint_ifaces/constraint_interfaces_test.go
  function TestSkipConstraintInterfaces (line 10) | func TestSkipConstraintInterfaces(t *testing.T) {

FILE: internal/fixtures/constraints/constraints.go
  type Signed (line 3) | type Signed interface
  type Integer (line 7) | type Integer interface
  type String (line 11) | type String interface

FILE: internal/fixtures/consul.go
  type ConsulLock (line 3) | type ConsulLock interface

FILE: internal/fixtures/custom_error.go
  type Err (line 3) | type Err struct
    method Error (line 8) | func (e *Err) Error() string {
    method Code (line 12) | func (e *Err) Code() uint64 {
  type KeyManager (line 16) | type KeyManager interface

FILE: internal/fixtures/directive_comments/directive_comments.go
  type Requester (line 8) | type Requester interface
  type RequesterWithoutAnnotation (line 12) | type RequesterWithoutAnnotation interface
  type MatryerRequester (line 20) | type MatryerRequester interface
  type Server (line 28) | type Server interface
  type ServerWithDifferentFile (line 36) | type ServerWithDifferentFile interface
  type InterfaceWithGenerateFalse (line 41) | type InterfaceWithGenerateFalse interface
  type InterfaceWithoutGenerate (line 50) | type InterfaceWithoutGenerate interface

FILE: internal/fixtures/directive_comments/directive_comments_test.go
  function TestInterfaceAnnotations (line 11) | func TestInterfaceAnnotations(t *testing.T) {

FILE: internal/fixtures/directive_comments/mocks_matryer_directive_comments_test.go
  type TheMatryerRequester (line 32) | type TheMatryerRequester struct
    method Get (line 48) | func (mock *TheMatryerRequester) Get(path string) (string, error) {
    method GetCalls (line 67) | func (mock *TheMatryerRequester) GetCalls() []struct {

FILE: internal/fixtures/directive_comments/mocks_testify_directive_comments_test.go
  function NewMockRequester (line 17) | func NewMockRequester(t interface {
  type MockRequester (line 30) | type MockRequester struct
    method EXPECT (line 38) | func (_m *MockRequester) EXPECT() *MockRequester_Expecter {
    method Get (line 43) | func (_mock *MockRequester) Get(path string) (string, error) {
  type MockRequester_Expecter (line 34) | type MockRequester_Expecter struct
    method Get (line 75) | func (_e *MockRequester_Expecter) Get(path interface{}) *MockRequester...
  type MockRequester_Get_Call (line 69) | type MockRequester_Get_Call struct
    method Run (line 79) | func (_c *MockRequester_Get_Call) Run(run func(path string)) *MockRequ...
    method Return (line 92) | func (_c *MockRequester_Get_Call) Return(s string, err error) *MockReq...
    method RunAndReturn (line 97) | func (_c *MockRequester_Get_Call) RunAndReturn(run func(path string) (...
  function NewFunServer (line 104) | func NewFunServer(t interface {
  type FunServer (line 117) | type FunServer struct
    method EXPECT (line 125) | func (_m *FunServer) EXPECT() *FunServer_Expecter {
    method HandleRequest (line 130) | func (_mock *FunServer) HandleRequest(path string, handler http.Handle...
  type FunServer_Expecter (line 121) | type FunServer_Expecter struct
    method HandleRequest (line 143) | func (_e *FunServer_Expecter) HandleRequest(path interface{}, handler ...
  type FunServer_HandleRequest_Call (line 136) | type FunServer_HandleRequest_Call struct
    method Run (line 147) | func (_c *FunServer_HandleRequest_Call) Run(run func(path string, hand...
    method Return (line 165) | func (_c *FunServer_HandleRequest_Call) Return() *FunServer_HandleRequ...
    method RunAndReturn (line 170) | func (_c *FunServer_HandleRequest_Call) RunAndReturn(run func(path str...
  function NewInterfaceWithoutGenerateFoo (line 177) | func NewInterfaceWithoutGenerateFoo(t interface {
  type InterfaceWithoutGenerateFoo (line 190) | type InterfaceWithoutGenerateFoo struct
    method EXPECT (line 198) | func (_m *InterfaceWithoutGenerateFoo) EXPECT() *InterfaceWithoutGener...
    method Foo (line 203) | func (_mock *InterfaceWithoutGenerateFoo) Foo() {
  type InterfaceWithoutGenerateFoo_Expecter (line 194) | type InterfaceWithoutGenerateFoo_Expecter struct
    method Foo (line 214) | func (_e *InterfaceWithoutGenerateFoo_Expecter) Foo() *InterfaceWithou...
  type InterfaceWithoutGenerateFoo_Foo_Call (line 209) | type InterfaceWithoutGenerateFoo_Foo_Call struct
    method Run (line 218) | func (_c *InterfaceWithoutGenerateFoo_Foo_Call) Run(run func()) *Inter...
    method Return (line 225) | func (_c *InterfaceWithoutGenerateFoo_Foo_Call) Return() *InterfaceWit...
    method RunAndReturn (line 230) | func (_c *InterfaceWithoutGenerateFoo_Foo_Call) RunAndReturn(run func(...

FILE: internal/fixtures/directive_comments/server_with_different_file.go
  function NewFunServerWithDifferentFile (line 17) | func NewFunServerWithDifferentFile(t interface {
  type FunServerWithDifferentFile (line 30) | type FunServerWithDifferentFile struct
    method EXPECT (line 38) | func (_m *FunServerWithDifferentFile) EXPECT() *FunServerWithDifferent...
    method HandleRequest (line 43) | func (_mock *FunServerWithDifferentFile) HandleRequest(path string, ha...
  type FunServerWithDifferentFile_Expecter (line 34) | type FunServerWithDifferentFile_Expecter struct
    method HandleRequest (line 56) | func (_e *FunServerWithDifferentFile_Expecter) HandleRequest(path inte...
  type FunServerWithDifferentFile_HandleRequest_Call (line 49) | type FunServerWithDifferentFile_HandleRequest_Call struct
    method Run (line 60) | func (_c *FunServerWithDifferentFile_HandleRequest_Call) Run(run func(...
    method Return (line 78) | func (_c *FunServerWithDifferentFile_HandleRequest_Call) Return() *Fun...
    method RunAndReturn (line 83) | func (_c *FunServerWithDifferentFile_HandleRequest_Call) RunAndReturn(...
  function NewAnotherFunServerWithDifferentFile (line 90) | func NewAnotherFunServerWithDifferentFile(t interface {
  type AnotherFunServerWithDifferentFile (line 103) | type AnotherFunServerWithDifferentFile struct
    method EXPECT (line 111) | func (_m *AnotherFunServerWithDifferentFile) EXPECT() *AnotherFunServe...
    method HandleRequest (line 116) | func (_mock *AnotherFunServerWithDifferentFile) HandleRequest(path str...
  type AnotherFunServerWithDifferentFile_Expecter (line 107) | type AnotherFunServerWithDifferentFile_Expecter struct
    method HandleRequest (line 129) | func (_e *AnotherFunServerWithDifferentFile_Expecter) HandleRequest(pa...
  type AnotherFunServerWithDifferentFile_HandleRequest_Call (line 122) | type AnotherFunServerWithDifferentFile_HandleRequest_Call struct
    method Run (line 133) | func (_c *AnotherFunServerWithDifferentFile_HandleRequest_Call) Run(ru...
    method Return (line 151) | func (_c *AnotherFunServerWithDifferentFile_HandleRequest_Call) Return...
    method RunAndReturn (line 156) | func (_c *AnotherFunServerWithDifferentFile_HandleRequest_Call) RunAnd...

FILE: internal/fixtures/directive_comments_example/interface.go
  type Requester (line 6) | type Requester interface
  type Interface1 (line 10) | type Interface1 interface

FILE: internal/fixtures/empty_interface.go
  type Blank (line 3) | type Blank interface

FILE: internal/fixtures/empty_return/interface.go
  type EmptyReturn (line 3) | type EmptyReturn interface

FILE: internal/fixtures/empty_return/interface_test.go
  function Test (line 9) | func Test(t *testing.T) {
  function TestMatryerNoReturnStub (line 40) | func TestMatryerNoReturnStub(t *testing.T) {

FILE: internal/fixtures/empty_return/mocks_matryer_empty_return_test.go
  type StubMatyerEmptyReturn (line 35) | type StubMatyerEmptyReturn struct
    method NoArgs (line 60) | func (mock *StubMatyerEmptyReturn) NoArgs() {
    method NoArgsCalls (line 76) | func (mock *StubMatyerEmptyReturn) NoArgsCalls() []struct {
    method ResetNoArgsCalls (line 87) | func (mock *StubMatyerEmptyReturn) ResetNoArgsCalls() {
    method WithArgs (line 94) | func (mock *StubMatyerEmptyReturn) WithArgs(a int, b string) {
    method WithArgsCalls (line 115) | func (mock *StubMatyerEmptyReturn) WithArgsCalls() []struct {
    method ResetWithArgsCalls (line 130) | func (mock *StubMatyerEmptyReturn) ResetWithArgsCalls() {
    method ResetCalls (line 137) | func (mock *StubMatyerEmptyReturn) ResetCalls() {

FILE: internal/fixtures/empty_return/mocks_testify_empty_return_test.go
  function NewMockEmptyReturn (line 15) | func NewMockEmptyReturn(t interface {
  type MockEmptyReturn (line 28) | type MockEmptyReturn struct
    method EXPECT (line 36) | func (_m *MockEmptyReturn) EXPECT() *MockEmptyReturn_Expecter {
    method NoArgs (line 41) | func (_mock *MockEmptyReturn) NoArgs() {
    method WithArgs (line 74) | func (_mock *MockEmptyReturn) WithArgs(a int, b string) {
  type MockEmptyReturn_Expecter (line 32) | type MockEmptyReturn_Expecter struct
    method NoArgs (line 52) | func (_e *MockEmptyReturn_Expecter) NoArgs() *MockEmptyReturn_NoArgs_C...
    method WithArgs (line 87) | func (_e *MockEmptyReturn_Expecter) WithArgs(a interface{}, b interfac...
  type MockEmptyReturn_NoArgs_Call (line 47) | type MockEmptyReturn_NoArgs_Call struct
    method Run (line 56) | func (_c *MockEmptyReturn_NoArgs_Call) Run(run func()) *MockEmptyRetur...
    method Return (line 63) | func (_c *MockEmptyReturn_NoArgs_Call) Return() *MockEmptyReturn_NoArg...
    method RunAndReturn (line 68) | func (_c *MockEmptyReturn_NoArgs_Call) RunAndReturn(run func()) *MockE...
  type MockEmptyReturn_WithArgs_Call (line 80) | type MockEmptyReturn_WithArgs_Call struct
    method Run (line 91) | func (_c *MockEmptyReturn_WithArgs_Call) Run(run func(a int, b string)...
    method Return (line 109) | func (_c *MockEmptyReturn_WithArgs_Call) Return() *MockEmptyReturn_Wit...
    method RunAndReturn (line 114) | func (_c *MockEmptyReturn_WithArgs_Call) RunAndReturn(run func(a int, ...

FILE: internal/fixtures/example_project/bar/foo/client.go
  type Client (line 3) | type Client interface

FILE: internal/fixtures/example_project/baz/foo.go
  type Foo (line 9) | type Foo interface

FILE: internal/fixtures/example_project/baz/internal/foo/foo.go
  type InternalBaz (line 3) | type InternalBaz struct

FILE: internal/fixtures/example_project/context/context.go
  type CollideWithStdLib (line 7) | type CollideWithStdLib interface

FILE: internal/fixtures/example_project/foo/foo.go
  type Baz (line 3) | type Baz struct
  type Foo (line 8) | type Foo interface

FILE: internal/fixtures/example_project/foo/pkg_name_same_as_import.go
  type PackageNameSameAsImport (line 5) | type PackageNameSameAsImport interface

FILE: internal/fixtures/example_project/mocks_testify_example_project_test.go
  function NewMockRoot (line 16) | func NewMockRoot(t interface {
  type MockRoot (line 29) | type MockRoot struct
    method EXPECT (line 37) | func (_m *MockRoot) EXPECT() *MockRoot_Expecter {
    method ReturnsFoo (line 42) | func (_mock *MockRoot) ReturnsFoo() (foo.Foo, error) {
    method TakesBaz (line 97) | func (_mock *MockRoot) TakesBaz(baz *foo.Baz) {
  type MockRoot_Expecter (line 33) | type MockRoot_Expecter struct
    method ReturnsFoo (line 75) | func (_e *MockRoot_Expecter) ReturnsFoo() *MockRoot_ReturnsFoo_Call {
    method TakesBaz (line 109) | func (_e *MockRoot_Expecter) TakesBaz(baz interface{}) *MockRoot_Takes...
  type MockRoot_ReturnsFoo_Call (line 70) | type MockRoot_ReturnsFoo_Call struct
    method Run (line 79) | func (_c *MockRoot_ReturnsFoo_Call) Run(run func()) *MockRoot_ReturnsF...
    method Return (line 86) | func (_c *MockRoot_ReturnsFoo_Call) Return(foo1 foo.Foo, err error) *M...
    method RunAndReturn (line 91) | func (_c *MockRoot_ReturnsFoo_Call) RunAndReturn(run func() (foo.Foo, ...
  type MockRoot_TakesBaz_Call (line 103) | type MockRoot_TakesBaz_Call struct
    method Run (line 113) | func (_c *MockRoot_TakesBaz_Call) Run(run func(baz *foo.Baz)) *MockRoo...
    method Return (line 126) | func (_c *MockRoot_TakesBaz_Call) Return() *MockRoot_TakesBaz_Call {
    method RunAndReturn (line 131) | func (_c *MockRoot_TakesBaz_Call) RunAndReturn(run func(baz *foo.Baz))...
  function NewMockStringer (line 138) | func NewMockStringer(t interface {
  type MockStringer (line 151) | type MockStringer struct
    method EXPECT (line 159) | func (_m *MockStringer) EXPECT() *MockStringer_Expecter {
    method String (line 164) | func (_mock *MockStringer) String() string {
  type MockStringer_Expecter (line 155) | type MockStringer_Expecter struct
    method String (line 186) | func (_e *MockStringer_Expecter) String() *MockStringer_String_Call {
  type MockStringer_String_Call (line 181) | type MockStringer_String_Call struct
    method Run (line 190) | func (_c *MockStringer_String_Call) Run(run func()) *MockStringer_Stri...
    method Return (line 197) | func (_c *MockStringer_String_Call) Return(s string) *MockStringer_Str...
    method RunAndReturn (line 202) | func (_c *MockStringer_String_Call) RunAndReturn(run func() string) *M...

FILE: internal/fixtures/example_project/pkg_with_submodules/string.go
  type Stringer (line 3) | type Stringer interface

FILE: internal/fixtures/example_project/pkg_with_submodules/submodule/string.go
  type Stringer (line 3) | type Stringer interface

FILE: internal/fixtures/example_project/pkg_with_submodules/subpkg/string.go
  type Stringer (line 3) | type Stringer interface

FILE: internal/fixtures/example_project/pkg_with_submodules/subpkg/submodule/string.go
  type Stringer (line 3) | type Stringer interface

FILE: internal/fixtures/example_project/pkg_with_subpkgs/subpkg2/subpkg3/foo.go
  type Getter (line 3) | type Getter interface

FILE: internal/fixtures/example_project/replace_type/mocks_testify_replace_type_test.go
  function NewMockRType (line 17) | func NewMockRType(t interface {
  type MockRType (line 30) | type MockRType struct
    method EXPECT (line 38) | func (_m *MockRType) EXPECT() *MockRType_Expecter {
    method Replace1 (line 43) | func (_mock *MockRType) Replace1(f rt1.RType1) {
    method Replace2 (line 83) | func (_mock *MockRType) Replace2(f rt2.RType2) {
  type MockRType_Expecter (line 34) | type MockRType_Expecter struct
    method Replace1 (line 55) | func (_e *MockRType_Expecter) Replace1(f interface{}) *MockRType_Repla...
    method Replace2 (line 95) | func (_e *MockRType_Expecter) Replace2(f interface{}) *MockRType_Repla...
  type MockRType_Replace1_Call (line 49) | type MockRType_Replace1_Call struct
    method Run (line 59) | func (_c *MockRType_Replace1_Call) Run(run func(f rt1.RType1)) *MockRT...
    method Return (line 72) | func (_c *MockRType_Replace1_Call) Return() *MockRType_Replace1_Call {
    method RunAndReturn (line 77) | func (_c *MockRType_Replace1_Call) RunAndReturn(run func(f rt1.RType1)...
  type MockRType_Replace2_Call (line 89) | type MockRType_Replace2_Call struct
    method Run (line 99) | func (_c *MockRType_Replace2_Call) Run(run func(f rt2.RType2)) *MockRT...
    method Return (line 112) | func (_c *MockRType_Replace2_Call) Return() *MockRType_Replace2_Call {
    method RunAndReturn (line 117) | func (_c *MockRType_Replace2_Call) RunAndReturn(run func(f rt2.RType2)...
  function NewRTypeReplaced1 (line 124) | func NewRTypeReplaced1(t interface {
  type RTypeReplaced1 (line 137) | type RTypeReplaced1 struct
    method EXPECT (line 145) | func (_m *RTypeReplaced1) EXPECT() *RTypeReplaced1_Expecter {
    method Replace1 (line 150) | func (_mock *RTypeReplaced1) Replace1(f rt2.RType2) {
    method Replace2 (line 190) | func (_mock *RTypeReplaced1) Replace2(f rt2.RType2) {
  type RTypeReplaced1_Expecter (line 141) | type RTypeReplaced1_Expecter struct
    method Replace1 (line 162) | func (_e *RTypeReplaced1_Expecter) Replace1(f interface{}) *RTypeRepla...
    method Replace2 (line 202) | func (_e *RTypeReplaced1_Expecter) Replace2(f interface{}) *RTypeRepla...
  type RTypeReplaced1_Replace1_Call (line 156) | type RTypeReplaced1_Replace1_Call struct
    method Run (line 166) | func (_c *RTypeReplaced1_Replace1_Call) Run(run func(f rt2.RType2)) *R...
    method Return (line 179) | func (_c *RTypeReplaced1_Replace1_Call) Return() *RTypeReplaced1_Repla...
    method RunAndReturn (line 184) | func (_c *RTypeReplaced1_Replace1_Call) RunAndReturn(run func(f rt2.RT...
  type RTypeReplaced1_Replace2_Call (line 196) | type RTypeReplaced1_Replace2_Call struct
    method Run (line 206) | func (_c *RTypeReplaced1_Replace2_Call) Run(run func(f rt2.RType2)) *R...
    method Return (line 219) | func (_c *RTypeReplaced1_Replace2_Call) Return() *RTypeReplaced1_Repla...
    method RunAndReturn (line 224) | func (_c *RTypeReplaced1_Replace2_Call) RunAndReturn(run func(f rt2.RT...

FILE: internal/fixtures/example_project/replace_type/rt.go
  type RType (line 8) | type RType interface

FILE: internal/fixtures/example_project/replace_type/rt_test.go
  function TestReplaceType (line 12) | func TestReplaceType(t *testing.T) {

FILE: internal/fixtures/example_project/replace_type/rti/internal/rti.go
  type RTInternal1 (line 3) | type RTInternal1 struct
  type RTInternal2 (line 7) | type RTInternal2 struct

FILE: internal/fixtures/example_project/root.go
  type Root (line 5) | type Root interface

FILE: internal/fixtures/example_project/string.go
  type Stringer (line 3) | type Stringer interface

FILE: internal/fixtures/example_project/string_test.go
  function Foo (line 9) | func Foo(s Stringer) string {
  function TestString (line 13) | func TestString(t *testing.T) {

FILE: internal/fixtures/expecter.go
  type Expecter (line 3) | type Expecter interface
  type VariadicNoReturnInterface (line 11) | type VariadicNoReturnInterface interface

FILE: internal/fixtures/expecter_test.go
  function TestExpecter (line 20) | func TestExpecter(t *testing.T) {
  function intfSlice (line 182) | func intfSlice(slice interface{}) []interface{} {

FILE: internal/fixtures/func_args_collision.go
  type FuncArgsCollision (line 3) | type FuncArgsCollision interface

FILE: internal/fixtures/function.go
  type SendFunc (line 7) | type SendFunc

FILE: internal/fixtures/generic.go
  type RequesterGenerics (line 9) | type RequesterGenerics interface
  type GenericType (line 29) | type GenericType struct
  type GetInt (line 34) | type GetInt interface
  type GetGeneric (line 36) | type GetGeneric interface
  type EmbeddedGet (line 38) | type EmbeddedGet interface
  type ReplaceGeneric (line 40) | type ReplaceGeneric interface
  type ReplaceGenericSelf (line 50) | type ReplaceGenericSelf interface

FILE: internal/fixtures/http/http.go
  type MyStruct (line 3) | type MyStruct struct

FILE: internal/fixtures/iface_new_type/iface_new_type_test.go
  function TestUsage (line 7) | func TestUsage(t *testing.T) {

FILE: internal/fixtures/iface_new_type/interface.go
  type Interface1 (line 5) | type Interface1 interface
  type Interface2 (line 10) | type Interface2
  type Interface3 (line 11) | type Interface3

FILE: internal/fixtures/iface_new_type/mocks_testify_iface_new_type_test.go
  function NewMockInterface1 (line 15) | func NewMockInterface1(t interface {
  type MockInterface1 (line 28) | type MockInterface1 struct
    method EXPECT (line 36) | func (_m *MockInterface1) EXPECT() *MockInterface1_Expecter {
    method Method1 (line 41) | func (_mock *MockInterface1) Method1() {
  type MockInterface1_Expecter (line 32) | type MockInterface1_Expecter struct
    method Method1 (line 52) | func (_e *MockInterface1_Expecter) Method1() *MockInterface1_Method1_C...
  type MockInterface1_Method1_Call (line 47) | type MockInterface1_Method1_Call struct
    method Run (line 56) | func (_c *MockInterface1_Method1_Call) Run(run func()) *MockInterface1...
    method Return (line 63) | func (_c *MockInterface1_Method1_Call) Return() *MockInterface1_Method...
    method RunAndReturn (line 68) | func (_c *MockInterface1_Method1_Call) RunAndReturn(run func()) *MockI...
  function NewMockInterface2 (line 75) | func NewMockInterface2(t interface {
  type MockInterface2 (line 88) | type MockInterface2 struct
    method EXPECT (line 96) | func (_m *MockInterface2) EXPECT() *MockInterface2_Expecter {
    method Method1 (line 101) | func (_mock *MockInterface2) Method1() {
  type MockInterface2_Expecter (line 92) | type MockInterface2_Expecter struct
    method Method1 (line 112) | func (_e *MockInterface2_Expecter) Method1() *MockInterface2_Method1_C...
  type MockInterface2_Method1_Call (line 107) | type MockInterface2_Method1_Call struct
    method Run (line 116) | func (_c *MockInterface2_Method1_Call) Run(run func()) *MockInterface2...
    method Return (line 123) | func (_c *MockInterface2_Method1_Call) Return() *MockInterface2_Method...
    method RunAndReturn (line 128) | func (_c *MockInterface2_Method1_Call) RunAndReturn(run func()) *MockI...
  function NewMockInterface3 (line 135) | func NewMockInterface3(t interface {
  type MockInterface3 (line 148) | type MockInterface3 struct
    method EXPECT (line 156) | func (_m *MockInterface3) EXPECT() *MockInterface3_Expecter {
    method Method1 (line 161) | func (_mock *MockInterface3) Method1() {
  type MockInterface3_Expecter (line 152) | type MockInterface3_Expecter struct
    method Method1 (line 172) | func (_e *MockInterface3_Expecter) Method1() *MockInterface3_Method1_C...
  type MockInterface3_Method1_Call (line 167) | type MockInterface3_Method1_Call struct
    method Run (line 176) | func (_c *MockInterface3_Method1_Call) Run(run func()) *MockInterface3...
    method Return (line 183) | func (_c *MockInterface3_Method1_Call) Return() *MockInterface3_Method...
    method RunAndReturn (line 188) | func (_c *MockInterface3_Method1_Call) RunAndReturn(run func()) *MockI...

FILE: internal/fixtures/iface_new_type/subpkg/interface.go
  type SubPkgInterface (line 3) | type SubPkgInterface interface

FILE: internal/fixtures/iface_typed_param/getter_iface_typed_param.go
  type GetterIfaceTypedParam (line 5) | type GetterIfaceTypedParam interface

FILE: internal/fixtures/iface_typed_param/main_test.go
  function TestIfaceWithIfaceTypedParamReturnValues (line 11) | func TestIfaceWithIfaceTypedParamReturnValues(t *testing.T) {

FILE: internal/fixtures/iface_typed_param/mocks_testify_iface_typed_param_test.go
  function NewMockGetterIfaceTypedParam (line 17) | func NewMockGetterIfaceTypedParam[T io.Reader](t interface {
  type MockGetterIfaceTypedParam (line 30) | type MockGetterIfaceTypedParam struct
  type MockGetterIfaceTypedParam_Expecter (line 34) | type MockGetterIfaceTypedParam_Expecter struct
  method EXPECT (line 38) | func (_m *MockGetterIfaceTypedParam[T]) EXPECT() *MockGetterIfaceTypedPa...
  method Get (line 43) | func (_mock *MockGetterIfaceTypedParam[T]) Get() T {
  type MockGetterIfaceTypedParam_Get_Call (line 62) | type MockGetterIfaceTypedParam_Get_Call struct
  method Get (line 67) | func (_e *MockGetterIfaceTypedParam_Expecter[T]) Get() *MockGetterIfaceT...
  method Run (line 71) | func (_c *MockGetterIfaceTypedParam_Get_Call[T]) Run(run func()) *MockGe...
  method Return (line 78) | func (_c *MockGetterIfaceTypedParam_Get_Call[T]) Return(v T) *MockGetter...
  method RunAndReturn (line 83) | func (_c *MockGetterIfaceTypedParam_Get_Call[T]) RunAndReturn(run func()...

FILE: internal/fixtures/iface_typed_param_lowercase/getter_iface_typed_param.go
  type GetterIfaceTypedParam (line 3) | type GetterIfaceTypedParam interface

FILE: internal/fixtures/iface_typed_param_lowercase/main_test.go
  function TestIfaceWithIfaceTypedParamLowerCaseReturnValues (line 9) | func TestIfaceWithIfaceTypedParamLowerCaseReturnValues(t *testing.T) {
  function toPtr (line 30) | func toPtr(i int) *int {

FILE: internal/fixtures/iface_typed_param_lowercase/mocks_testify_iface_typed_param_lowercase_test.go
  function NewMockGetterIfaceTypedParam (line 15) | func NewMockGetterIfaceTypedParam[a comparable](t interface {
  type MockGetterIfaceTypedParam (line 28) | type MockGetterIfaceTypedParam struct
  type MockGetterIfaceTypedParam_Expecter (line 32) | type MockGetterIfaceTypedParam_Expecter struct
  method EXPECT (line 36) | func (_m *MockGetterIfaceTypedParam[a]) EXPECT() *MockGetterIfaceTypedPa...
  method Get (line 41) | func (_mock *MockGetterIfaceTypedParam[a]) Get(v a) a {
  type MockGetterIfaceTypedParam_Get_Call (line 60) | type MockGetterIfaceTypedParam_Get_Call struct
  method Get (line 66) | func (_e *MockGetterIfaceTypedParam_Expecter[a]) Get(v interface{}) *Moc...
  method Run (line 70) | func (_c *MockGetterIfaceTypedParam_Get_Call[a]) Run(run func(v a)) *Moc...
  method Return (line 83) | func (_c *MockGetterIfaceTypedParam_Get_Call[a]) Return(v1 a) *MockGette...
  method RunAndReturn (line 88) | func (_c *MockGetterIfaceTypedParam_Get_Call[a]) RunAndReturn(run func(v...

FILE: internal/fixtures/imports_from_nested_interface.go
  type HasConflictingNestedImports (line 7) | type HasConflictingNestedImports interface

FILE: internal/fixtures/imports_same_as_package.go
  type C (line 7) | type C
  type ImportsSameAsPackage (line 9) | type ImportsSameAsPackage interface

FILE: internal/fixtures/include_auto_generated/interface.go
  type Foo (line 5) | type Foo interface

FILE: internal/fixtures/include_auto_generated/interface_test.go
  function TestIncludeAutoGenerated (line 9) | func TestIncludeAutoGenerated(t *testing.T) {

FILE: internal/fixtures/include_auto_generated/mocks_testify_includeautogenerated_test.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Bar (line 41) | func (_mock *MockFoo) Bar() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Bar (line 63) | func (_e *MockFoo_Expecter) Bar() *MockFoo_Bar_Call {
  type MockFoo_Bar_Call (line 58) | type MockFoo_Bar_Call struct
    method Run (line 67) | func (_c *MockFoo_Bar_Call) Run(run func()) *MockFoo_Bar_Call {
    method Return (line 74) | func (_c *MockFoo_Bar_Call) Return(s string) *MockFoo_Bar_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Bar_Call) RunAndReturn(run func() string) *MockFoo_B...

FILE: internal/fixtures/index_list_expr/index_list_expression.go
  type GenericMultipleTypes (line 3) | type GenericMultipleTypes interface
  type IndexListExpr (line 7) | type IndexListExpr

FILE: internal/fixtures/index_list_expr/index_list_expression_test.go
  function TestUsage (line 9) | func TestUsage(t *testing.T) {

FILE: internal/fixtures/index_list_expr/mocks_testify_index_list_expr_test.go
  function NewMockGenericMultipleTypes (line 15) | func NewMockGenericMultipleTypes[T1 any, T2 any, T3 any](t interface {
  type MockGenericMultipleTypes (line 28) | type MockGenericMultipleTypes struct
  type MockGenericMultipleTypes_Expecter (line 32) | type MockGenericMultipleTypes_Expecter struct
  method EXPECT (line 36) | func (_m *MockGenericMultipleTypes[T1, T2, T3]) EXPECT() *MockGenericMul...
  method Func (line 41) | func (_mock *MockGenericMultipleTypes[T1, T2, T3]) Func(arg1 *T1, arg2 T...
  type MockGenericMultipleTypes_Func_Call (line 60) | type MockGenericMultipleTypes_Func_Call struct
  method Func (line 67) | func (_e *MockGenericMultipleTypes_Expecter[T1, T2, T3]) Func(arg1 inter...
  method Run (line 71) | func (_c *MockGenericMultipleTypes_Func_Call[T1, T2, T3]) Run(run func(a...
  method Return (line 89) | func (_c *MockGenericMultipleTypes_Func_Call[T1, T2, T3]) Return(v T3) *...
  method RunAndReturn (line 94) | func (_c *MockGenericMultipleTypes_Func_Call[T1, T2, T3]) RunAndReturn(r...
  function NewMockIndexListExpr (line 101) | func NewMockIndexListExpr(t interface {
  type MockIndexListExpr (line 114) | type MockIndexListExpr struct
    method EXPECT (line 122) | func (_m *MockIndexListExpr) EXPECT() *MockIndexListExpr_Expecter {
    method Func (line 127) | func (_mock *MockIndexListExpr) Func(arg1 *int, arg2 string) bool {
  type MockIndexListExpr_Expecter (line 118) | type MockIndexListExpr_Expecter struct
    method Func (line 151) | func (_e *MockIndexListExpr_Expecter) Func(arg1 interface{}, arg2 inte...
  type MockIndexListExpr_Func_Call (line 144) | type MockIndexListExpr_Func_Call struct
    method Run (line 155) | func (_c *MockIndexListExpr_Func_Call) Run(run func(arg1 *int, arg2 st...
    method Return (line 173) | func (_c *MockIndexListExpr_Func_Call) Return(b bool) *MockIndexListEx...
    method RunAndReturn (line 178) | func (_c *MockIndexListExpr_Func_Call) RunAndReturn(run func(arg1 *int...

FILE: internal/fixtures/inpackage/interface.go
  type InternalStringType (line 3) | type InternalStringType
  type Foo (line 5) | type Foo interface

FILE: internal/fixtures/inpackage/interface_test.go
  function TestInPackageOverride (line 12) | func TestInPackageOverride(t *testing.T) {

FILE: internal/fixtures/inpackage/subpkg/mocks_testify_inpackage_test.go
  function NewMockFoo (line 17) | func NewMockFoo(t interface {
  type MockFoo (line 30) | type MockFoo struct
    method EXPECT (line 38) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Bar (line 43) | func (_mock *MockFoo) Bar() InternalStringType {
  type MockFoo_Expecter (line 34) | type MockFoo_Expecter struct
    method Bar (line 65) | func (_e *MockFoo_Expecter) Bar() *MockFoo_Bar_Call {
  type MockFoo_Bar_Call (line 60) | type MockFoo_Bar_Call struct
    method Run (line 69) | func (_c *MockFoo_Bar_Call) Run(run func()) *MockFoo_Bar_Call {
    method Return (line 76) | func (_c *MockFoo_Bar_Call) Return(internalStringType InternalStringTy...
    method RunAndReturn (line 81) | func (_c *MockFoo_Bar_Call) RunAndReturn(run func() InternalStringType...

FILE: internal/fixtures/instantiated_generic_interface.go
  type GenericInterface (line 3) | type GenericInterface interface
  type InstantiatedGenericInterface (line 7) | type InstantiatedGenericInterface

FILE: internal/fixtures/instantiated_generic_struct.go
  type InstantiatedStruct (line 4) | type InstantiatedStruct
  type GenericStruct (line 6) | type GenericStruct struct

FILE: internal/fixtures/interface_dir_relative/interface.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/interface_dir_relative/interface_test.go
  function TestFoo (line 9) | func TestFoo(t *testing.T) {

FILE: internal/fixtures/interface_dir_relative/internal/fixtures/interface_dir_relative/mocks.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Bar (line 41) | func (_mock *MockFoo) Bar() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Bar (line 63) | func (_e *MockFoo_Expecter) Bar() *MockFoo_Bar_Call {
  type MockFoo_Bar_Call (line 58) | type MockFoo_Bar_Call struct
    method Run (line 67) | func (_c *MockFoo_Bar_Call) Run(run func()) *MockFoo_Bar_Call {
    method Return (line 74) | func (_c *MockFoo_Bar_Call) Return(s string) *MockFoo_Bar_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Bar_Call) RunAndReturn(run func() string) *MockFoo_B...

FILE: internal/fixtures/interface_dir_relative/mocks/fixtures/interface_dir_relative/mocks.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Bar (line 41) | func (_mock *MockFoo) Bar() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Bar (line 63) | func (_e *MockFoo_Expecter) Bar() *MockFoo_Bar_Call {
  type MockFoo_Bar_Call (line 58) | type MockFoo_Bar_Call struct
    method Run (line 67) | func (_c *MockFoo_Bar_Call) Run(run func()) *MockFoo_Bar_Call {
    method Return (line 74) | func (_c *MockFoo_Bar_Call) Return(s string) *MockFoo_Bar_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Bar_Call) RunAndReturn(run func() string) *MockFoo_B...

FILE: internal/fixtures/io_import.go
  type MyReader (line 5) | type MyReader interface

FILE: internal/fixtures/issue_766.go
  type Issue766 (line 3) | type Issue766 interface

FILE: internal/fixtures/issue_766_test.go
  function TestIssue766 (line 13) | func TestIssue766(t *testing.T) {

FILE: internal/fixtures/map_to_interface.go
  type MapToInterface (line 3) | type MapToInterface interface

FILE: internal/fixtures/method_args/same_name_arg_and_type/entity.go
  type interfaceA (line 4) | type interfaceA interface
  type interfaceB (line 11) | type interfaceB interface
  type interfaceB0 (line 15) | type interfaceB0 interface

FILE: internal/fixtures/method_args/same_name_arg_and_type/entity_test.go
  type testStruct (line 10) | type testStruct struct
    method ExecDoB (line 14) | func (s *testStruct) ExecDoB() interfaceB {
    method ExecDoB0 (line 19) | func (s *testStruct) ExecDoB0() interfaceB0 {
    method ExecDoB0v2 (line 24) | func (s *testStruct) ExecDoB0v2() interfaceB0 {
  function Test (line 29) | func Test(t *testing.T) {

FILE: internal/fixtures/method_args/same_name_arg_and_type/mocks_testify_same_name_arg_and_type_test.go
  function newMockinterfaceA (line 15) | func newMockinterfaceA(t interface {
  type mockinterfaceA (line 28) | type mockinterfaceA struct
    method EXPECT (line 36) | func (_m *mockinterfaceA) EXPECT() *mockinterfaceA_Expecter {
    method DoB (line 41) | func (_mock *mockinterfaceA) DoB(interfaceB1 interfaceB) interfaceB {
    method DoB0 (line 94) | func (_mock *mockinterfaceA) DoB0(interfaceB interfaceB0) interfaceB0 {
    method DoB0v2 (line 147) | func (_mock *mockinterfaceA) DoB0v2(interfaceB01 interfaceB0) interfac...
  type mockinterfaceA_Expecter (line 32) | type mockinterfaceA_Expecter struct
    method DoB (line 66) | func (_e *mockinterfaceA_Expecter) DoB(interfaceB1 interface{}) *mocki...
    method DoB0 (line 119) | func (_e *mockinterfaceA_Expecter) DoB0(interfaceB interface{}) *mocki...
    method DoB0v2 (line 172) | func (_e *mockinterfaceA_Expecter) DoB0v2(interfaceB01 interface{}) *m...
  type mockinterfaceA_DoB_Call (line 60) | type mockinterfaceA_DoB_Call struct
    method Run (line 70) | func (_c *mockinterfaceA_DoB_Call) Run(run func(interfaceB1 interfaceB...
    method Return (line 83) | func (_c *mockinterfaceA_DoB_Call) Return(interfaceBMoqParam interface...
    method RunAndReturn (line 88) | func (_c *mockinterfaceA_DoB_Call) RunAndReturn(run func(interfaceB1 i...
  type mockinterfaceA_DoB0_Call (line 113) | type mockinterfaceA_DoB0_Call struct
    method Run (line 123) | func (_c *mockinterfaceA_DoB0_Call) Run(run func(interfaceB interfaceB...
    method Return (line 136) | func (_c *mockinterfaceA_DoB0_Call) Return(interfaceB0MoqParam interfa...
    method RunAndReturn (line 141) | func (_c *mockinterfaceA_DoB0_Call) RunAndReturn(run func(interfaceB i...
  type mockinterfaceA_DoB0v2_Call (line 166) | type mockinterfaceA_DoB0v2_Call struct
    method Run (line 176) | func (_c *mockinterfaceA_DoB0v2_Call) Run(run func(interfaceB01 interf...
    method Return (line 189) | func (_c *mockinterfaceA_DoB0v2_Call) Return(interfaceB0MoqParam inter...
    method RunAndReturn (line 194) | func (_c *mockinterfaceA_DoB0v2_Call) RunAndReturn(run func(interfaceB...
  function newMockinterfaceB (line 201) | func newMockinterfaceB(t interface {
  type mockinterfaceB (line 214) | type mockinterfaceB struct
    method EXPECT (line 222) | func (_m *mockinterfaceB) EXPECT() *mockinterfaceB_Expecter {
    method GetData (line 227) | func (_mock *mockinterfaceB) GetData() int {
  type mockinterfaceB_Expecter (line 218) | type mockinterfaceB_Expecter struct
    method GetData (line 249) | func (_e *mockinterfaceB_Expecter) GetData() *mockinterfaceB_GetData_C...
  type mockinterfaceB_GetData_Call (line 244) | type mockinterfaceB_GetData_Call struct
    method Run (line 253) | func (_c *mockinterfaceB_GetData_Call) Run(run func()) *mockinterfaceB...
    method Return (line 260) | func (_c *mockinterfaceB_GetData_Call) Return(n int) *mockinterfaceB_G...
    method RunAndReturn (line 265) | func (_c *mockinterfaceB_GetData_Call) RunAndReturn(run func() int) *m...
  function newMockinterfaceB0 (line 272) | func newMockinterfaceB0(t interface {
  type mockinterfaceB0 (line 285) | type mockinterfaceB0 struct
    method EXPECT (line 293) | func (_m *mockinterfaceB0) EXPECT() *mockinterfaceB0_Expecter {
    method DoB0 (line 298) | func (_mock *mockinterfaceB0) DoB0(interfaceB01 interfaceB0) interface...
  type mockinterfaceB0_Expecter (line 289) | type mockinterfaceB0_Expecter struct
    method DoB0 (line 323) | func (_e *mockinterfaceB0_Expecter) DoB0(interfaceB01 interface{}) *mo...
  type mockinterfaceB0_DoB0_Call (line 317) | type mockinterfaceB0_DoB0_Call struct
    method Run (line 327) | func (_c *mockinterfaceB0_DoB0_Call) Run(run func(interfaceB01 interfa...
    method Return (line 340) | func (_c *mockinterfaceB0_DoB0_Call) Return(interfaceB0MoqParam interf...
    method RunAndReturn (line 345) | func (_c *mockinterfaceB0_DoB0_Call) RunAndReturn(run func(interfaceB0...

FILE: internal/fixtures/mock_method_uses_pkg_iface.go
  type Sibling (line 3) | type Sibling interface
  type UsesOtherPkgIface (line 7) | type UsesOtherPkgIface interface

FILE: internal/fixtures/mocks_io_test.go
  function NewMockReader (line 17) | func NewMockReader(t interface {
  type MockReader (line 30) | type MockReader struct
    method EXPECT (line 38) | func (_m *MockReader) EXPECT() *MockReader_Expecter {
    method Read (line 43) | func (_mock *MockReader) Read(p []byte) (int, error) {
  type MockReader_Expecter (line 34) | type MockReader_Expecter struct
    method Read (line 75) | func (_e *MockReader_Expecter) Read(p interface{}) *MockReader_Read_Ca...
  type MockReader_Read_Call (line 69) | type MockReader_Read_Call struct
    method Run (line 79) | func (_c *MockReader_Read_Call) Run(run func(p []byte)) *MockReader_Re...
    method Return (line 92) | func (_c *MockReader_Read_Call) Return(n int, err error) *MockReader_R...
    method RunAndReturn (line 97) | func (_c *MockReader_Read_Call) RunAndReturn(run func(p []byte) (int, ...
  function NewMockWriter (line 104) | func NewMockWriter(t interface {
  type MockWriter (line 117) | type MockWriter struct
    method EXPECT (line 125) | func (_m *MockWriter) EXPECT() *MockWriter_Expecter {
    method Write (line 130) | func (_mock *MockWriter) Write(p []byte) (int, error) {
  type MockWriter_Expecter (line 121) | type MockWriter_Expecter struct
    method Write (line 162) | func (_e *MockWriter_Expecter) Write(p interface{}) *MockWriter_Write_...
  type MockWriter_Write_Call (line 156) | type MockWriter_Write_Call struct
    method Run (line 166) | func (_c *MockWriter_Write_Call) Run(run func(p []byte)) *MockWriter_W...
    method Return (line 179) | func (_c *MockWriter_Write_Call) Return(n int, err error) *MockWriter_...
    method RunAndReturn (line 184) | func (_c *MockWriter_Write_Call) RunAndReturn(run func(p []byte) (int,...
  function NewMockCloser (line 191) | func NewMockCloser(t interface {
  type MockCloser (line 204) | type MockCloser struct
    method EXPECT (line 212) | func (_m *MockCloser) EXPECT() *MockCloser_Expecter {
    method Close (line 217) | func (_mock *MockCloser) Close() error {
  type MockCloser_Expecter (line 208) | type MockCloser_Expecter struct
    method Close (line 239) | func (_e *MockCloser_Expecter) Close() *MockCloser_Close_Call {
  type MockCloser_Close_Call (line 234) | type MockCloser_Close_Call struct
    method Run (line 243) | func (_c *MockCloser_Close_Call) Run(run func()) *MockCloser_Close_Call {
    method Return (line 250) | func (_c *MockCloser_Close_Call) Return(err error) *MockCloser_Close_C...
    method RunAndReturn (line 255) | func (_c *MockCloser_Close_Call) RunAndReturn(run func() error) *MockC...
  function NewMockSeeker (line 262) | func NewMockSeeker(t interface {
  type MockSeeker (line 275) | type MockSeeker struct
    method EXPECT (line 283) | func (_m *MockSeeker) EXPECT() *MockSeeker_Expecter {
    method Seek (line 288) | func (_mock *MockSeeker) Seek(offset int64, whence int) (int64, error) {
  type MockSeeker_Expecter (line 279) | type MockSeeker_Expecter struct
    method Seek (line 321) | func (_e *MockSeeker_Expecter) Seek(offset interface{}, whence interfa...
  type MockSeeker_Seek_Call (line 314) | type MockSeeker_Seek_Call struct
    method Run (line 325) | func (_c *MockSeeker_Seek_Call) Run(run func(offset int64, whence int)...
    method Return (line 343) | func (_c *MockSeeker_Seek_Call) Return(n int64, err error) *MockSeeker...
    method RunAndReturn (line 348) | func (_c *MockSeeker_Seek_Call) RunAndReturn(run func(offset int64, wh...
  function NewMockReadWriter (line 355) | func NewMockReadWriter(t interface {
  type MockReadWriter (line 368) | type MockReadWriter struct
    method EXPECT (line 376) | func (_m *MockReadWriter) EXPECT() *MockReadWriter_Expecter {
    method Read (line 381) | func (_mock *MockReadWriter) Read(p []byte) (int, error) {
    method Write (line 441) | func (_mock *MockReadWriter) Write(p []byte) (int, error) {
  type MockReadWriter_Expecter (line 372) | type MockReadWriter_Expecter struct
    method Read (line 413) | func (_e *MockReadWriter_Expecter) Read(p interface{}) *MockReadWriter...
    method Write (line 473) | func (_e *MockReadWriter_Expecter) Write(p interface{}) *MockReadWrite...
  type MockReadWriter_Read_Call (line 407) | type MockReadWriter_Read_Call struct
    method Run (line 417) | func (_c *MockReadWriter_Read_Call) Run(run func(p []byte)) *MockReadW...
    method Return (line 430) | func (_c *MockReadWriter_Read_Call) Return(n int, err error) *MockRead...
    method RunAndReturn (line 435) | func (_c *MockReadWriter_Read_Call) RunAndReturn(run func(p []byte) (i...
  type MockReadWriter_Write_Call (line 467) | type MockReadWriter_Write_Call struct
    method Run (line 477) | func (_c *MockReadWriter_Write_Call) Run(run func(p []byte)) *MockRead...
    method Return (line 490) | func (_c *MockReadWriter_Write_Call) Return(n int, err error) *MockRea...
    method RunAndReturn (line 495) | func (_c *MockReadWriter_Write_Call) RunAndReturn(run func(p []byte) (...
  function NewMockReadCloser (line 502) | func NewMockReadCloser(t interface {
  type MockReadCloser (line 515) | type MockReadCloser struct
    method EXPECT (line 523) | func (_m *MockReadCloser) EXPECT() *MockReadCloser_Expecter {
    method Close (line 528) | func (_mock *MockReadCloser) Close() error {
    method Read (line 572) | func (_mock *MockReadCloser) Read(p []byte) (int, error) {
  type MockReadCloser_Expecter (line 519) | type MockReadCloser_Expecter struct
    method Close (line 550) | func (_e *MockReadCloser_Expecter) Close() *MockReadCloser_Close_Call {
    method Read (line 604) | func (_e *MockReadCloser_Expecter) Read(p interface{}) *MockReadCloser...
  type MockReadCloser_Close_Call (line 545) | type MockReadCloser_Close_Call struct
    method Run (line 554) | func (_c *MockReadCloser_Close_Call) Run(run func()) *MockReadCloser_C...
    method Return (line 561) | func (_c *MockReadCloser_Close_Call) Return(err error) *MockReadCloser...
    method RunAndReturn (line 566) | func (_c *MockReadCloser_Close_Call) RunAndReturn(run func() error) *M...
  type MockReadCloser_Read_Call (line 598) | type MockReadCloser_Read_Call struct
    method Run (line 608) | func (_c *MockReadCloser_Read_Call) Run(run func(p []byte)) *MockReadC...
    method Return (line 621) | func (_c *MockReadCloser_Read_Call) Return(n int, err error) *MockRead...
    method RunAndReturn (line 626) | func (_c *MockReadCloser_Read_Call) RunAndReturn(run func(p []byte) (i...
  function NewMockWriteCloser (line 633) | func NewMockWriteCloser(t interface {
  type MockWriteCloser (line 646) | type MockWriteCloser struct
    method EXPECT (line 654) | func (_m *MockWriteCloser) EXPECT() *MockWriteCloser_Expecter {
    method Close (line 659) | func (_mock *MockWriteCloser) Close() error {
    method Write (line 703) | func (_mock *MockWriteCloser) Write(p []byte) (int, error) {
  type MockWriteCloser_Expecter (line 650) | type MockWriteCloser_Expecter struct
    method Close (line 681) | func (_e *MockWriteCloser_Expecter) Close() *MockWriteCloser_Close_Call {
    method Write (line 735) | func (_e *MockWriteCloser_Expecter) Write(p interface{}) *MockWriteClo...
  type MockWriteCloser_Close_Call (line 676) | type MockWriteCloser_Close_Call struct
    method Run (line 685) | func (_c *MockWriteCloser_Close_Call) Run(run func()) *MockWriteCloser...
    method Return (line 692) | func (_c *MockWriteCloser_Close_Call) Return(err error) *MockWriteClos...
    method RunAndReturn (line 697) | func (_c *MockWriteCloser_Close_Call) RunAndReturn(run func() error) *...
  type MockWriteCloser_Write_Call (line 729) | type MockWriteCloser_Write_Call struct
    method Run (line 739) | func (_c *MockWriteCloser_Write_Call) Run(run func(p []byte)) *MockWri...
    method Return (line 752) | func (_c *MockWriteCloser_Write_Call) Return(n int, err error) *MockWr...
    method RunAndReturn (line 757) | func (_c *MockWriteCloser_Write_Call) RunAndReturn(run func(p []byte) ...
  function NewMockReadWriteCloser (line 764) | func NewMockReadWriteCloser(t interface {
  type MockReadWriteCloser (line 777) | type MockReadWriteCloser struct
    method EXPECT (line 785) | func (_m *MockReadWriteCloser) EXPECT() *MockReadWriteCloser_Expecter {
    method Close (line 790) | func (_mock *MockReadWriteCloser) Close() error {
    method Read (line 834) | func (_mock *MockReadWriteCloser) Read(p []byte) (int, error) {
    method Write (line 894) | func (_mock *MockReadWriteCloser) Write(p []byte) (int, error) {
  type MockReadWriteCloser_Expecter (line 781) | type MockReadWriteCloser_Expecter struct
    method Close (line 812) | func (_e *MockReadWriteCloser_Expecter) Close() *MockReadWriteCloser_C...
    method Read (line 866) | func (_e *MockReadWriteCloser_Expecter) Read(p interface{}) *MockReadW...
    method Write (line 926) | func (_e *MockReadWriteCloser_Expecter) Write(p interface{}) *MockRead...
  type MockReadWriteCloser_Close_Call (line 807) | type MockReadWriteCloser_Close_Call struct
    method Run (line 816) | func (_c *MockReadWriteCloser_Close_Call) Run(run func()) *MockReadWri...
    method Return (line 823) | func (_c *MockReadWriteCloser_Close_Call) Return(err error) *MockReadW...
    method RunAndReturn (line 828) | func (_c *MockReadWriteCloser_Close_Call) RunAndReturn(run func() erro...
  type MockReadWriteCloser_Read_Call (line 860) | type MockReadWriteCloser_Read_Call struct
    method Run (line 870) | func (_c *MockReadWriteCloser_Read_Call) Run(run func(p []byte)) *Mock...
    method Return (line 883) | func (_c *MockReadWriteCloser_Read_Call) Return(n int, err error) *Moc...
    method RunAndReturn (line 888) | func (_c *MockReadWriteCloser_Read_Call) RunAndReturn(run func(p []byt...
  type MockReadWriteCloser_Write_Call (line 920) | type MockReadWriteCloser_Write_Call struct
    method Run (line 930) | func (_c *MockReadWriteCloser_Write_Call) Run(run func(p []byte)) *Moc...
    method Return (line 943) | func (_c *MockReadWriteCloser_Write_Call) Return(n int, err error) *Mo...
    method RunAndReturn (line 948) | func (_c *MockReadWriteCloser_Write_Call) RunAndReturn(run func(p []by...
  function NewMockReadSeeker (line 955) | func NewMockReadSeeker(t interface {
  type MockReadSeeker (line 968) | type MockReadSeeker struct
    method EXPECT (line 976) | func (_m *MockReadSeeker) EXPECT() *MockReadSeeker_Expecter {
    method Read (line 981) | func (_mock *MockReadSeeker) Read(p []byte) (int, error) {
    method Seek (line 1041) | func (_mock *MockReadSeeker) Seek(offset int64, whence int) (int64, er...
  type MockReadSeeker_Expecter (line 972) | type MockReadSeeker_Expecter struct
    method Read (line 1013) | func (_e *MockReadSeeker_Expecter) Read(p interface{}) *MockReadSeeker...
    method Seek (line 1074) | func (_e *MockReadSeeker_Expecter) Seek(offset interface{}, whence int...
  type MockReadSeeker_Read_Call (line 1007) | type MockReadSeeker_Read_Call struct
    method Run (line 1017) | func (_c *MockReadSeeker_Read_Call) Run(run func(p []byte)) *MockReadS...
    method Return (line 1030) | func (_c *MockReadSeeker_Read_Call) Return(n int, err error) *MockRead...
    method RunAndReturn (line 1035) | func (_c *MockReadSeeker_Read_Call) RunAndReturn(run func(p []byte) (i...
  type MockReadSeeker_Seek_Call (line 1067) | type MockReadSeeker_Seek_Call struct
    method Run (line 1078) | func (_c *MockReadSeeker_Seek_Call) Run(run func(offset int64, whence ...
    method Return (line 1096) | func (_c *MockReadSeeker_Seek_Call) Return(n int64, err error) *MockRe...
    method RunAndReturn (line 1101) | func (_c *MockReadSeeker_Seek_Call) RunAndReturn(run func(offset int64...
  function NewMockReadSeekCloser (line 1108) | func NewMockReadSeekCloser(t interface {
  type MockReadSeekCloser (line 1121) | type MockReadSeekCloser struct
    method EXPECT (line 1129) | func (_m *MockReadSeekCloser) EXPECT() *MockReadSeekCloser_Expecter {
    method Close (line 1134) | func (_mock *MockReadSeekCloser) Close() error {
    method Read (line 1178) | func (_mock *MockReadSeekCloser) Read(p []byte) (int, error) {
    method Seek (line 1238) | func (_mock *MockReadSeekCloser) Seek(offset int64, whence int) (int64...
  type MockReadSeekCloser_Expecter (line 1125) | type MockReadSeekCloser_Expecter struct
    method Close (line 1156) | func (_e *MockReadSeekCloser_Expecter) Close() *MockReadSeekCloser_Clo...
    method Read (line 1210) | func (_e *MockReadSeekCloser_Expecter) Read(p interface{}) *MockReadSe...
    method Seek (line 1271) | func (_e *MockReadSeekCloser_Expecter) Seek(offset interface{}, whence...
  type MockReadSeekCloser_Close_Call (line 1151) | type MockReadSeekCloser_Close_Call struct
    method Run (line 1160) | func (_c *MockReadSeekCloser_Close_Call) Run(run func()) *MockReadSeek...
    method Return (line 1167) | func (_c *MockReadSeekCloser_Close_Call) Return(err error) *MockReadSe...
    method RunAndReturn (line 1172) | func (_c *MockReadSeekCloser_Close_Call) RunAndReturn(run func() error...
  type MockReadSeekCloser_Read_Call (line 1204) | type MockReadSeekCloser_Read_Call struct
    method Run (line 1214) | func (_c *MockReadSeekCloser_Read_Call) Run(run func(p []byte)) *MockR...
    method Return (line 1227) | func (_c *MockReadSeekCloser_Read_Call) Return(n int, err error) *Mock...
    method RunAndReturn (line 1232) | func (_c *MockReadSeekCloser_Read_Call) RunAndReturn(run func(p []byte...
  type MockReadSeekCloser_Seek_Call (line 1264) | type MockReadSeekCloser_Seek_Call struct
    method Run (line 1275) | func (_c *MockReadSeekCloser_Seek_Call) Run(run func(offset int64, whe...
    method Return (line 1293) | func (_c *MockReadSeekCloser_Seek_Call) Return(n int64, err error) *Mo...
    method RunAndReturn (line 1298) | func (_c *MockReadSeekCloser_Seek_Call) RunAndReturn(run func(offset i...
  function NewMockWriteSeeker (line 1305) | func NewMockWriteSeeker(t interface {
  type MockWriteSeeker (line 1318) | type MockWriteSeeker struct
    method EXPECT (line 1326) | func (_m *MockWriteSeeker) EXPECT() *MockWriteSeeker_Expecter {
    method Seek (line 1331) | func (_mock *MockWriteSeeker) Seek(offset int64, whence int) (int64, e...
    method Write (line 1397) | func (_mock *MockWriteSeeker) Write(p []byte) (int, error) {
  type MockWriteSeeker_Expecter (line 1322) | type MockWriteSeeker_Expecter struct
    method Seek (line 1364) | func (_e *MockWriteSeeker_Expecter) Seek(offset interface{}, whence in...
    method Write (line 1429) | func (_e *MockWriteSeeker_Expecter) Write(p interface{}) *MockWriteSee...
  type MockWriteSeeker_Seek_Call (line 1357) | type MockWriteSeeker_Seek_Call struct
    method Run (line 1368) | func (_c *MockWriteSeeker_Seek_Call) Run(run func(offset int64, whence...
    method Return (line 1386) | func (_c *MockWriteSeeker_Seek_Call) Return(n int64, err error) *MockW...
    method RunAndReturn (line 1391) | func (_c *MockWriteSeeker_Seek_Call) RunAndReturn(run func(offset int6...
  type MockWriteSeeker_Write_Call (line 1423) | type MockWriteSeeker_Write_Call struct
    method Run (line 1433) | func (_c *MockWriteSeeker_Write_Call) Run(run func(p []byte)) *MockWri...
    method Return (line 1446) | func (_c *MockWriteSeeker_Write_Call) Return(n int, err error) *MockWr...
    method RunAndReturn (line 1451) | func (_c *MockWriteSeeker_Write_Call) RunAndReturn(run func(p []byte) ...
  function NewMockReadWriteSeeker (line 1458) | func NewMockReadWriteSeeker(t interface {
  type MockReadWriteSeeker (line 1471) | type MockReadWriteSeeker struct
    method EXPECT (line 1479) | func (_m *MockReadWriteSeeker) EXPECT() *MockReadWriteSeeker_Expecter {
    method Read (line 1484) | func (_mock *MockReadWriteSeeker) Read(p []byte) (int, error) {
    method Seek (line 1544) | func (_mock *MockReadWriteSeeker) Seek(offset int64, whence int) (int6...
    method Write (line 1610) | func (_mock *MockReadWriteSeeker) Write(p []byte) (int, error) {
  type MockReadWriteSeeker_Expecter (line 1475) | type MockReadWriteSeeker_Expecter struct
    method Read (line 1516) | func (_e *MockReadWriteSeeker_Expecter) Read(p interface{}) *MockReadW...
    method Seek (line 1577) | func (_e *MockReadWriteSeeker_Expecter) Seek(offset interface{}, whenc...
    method Write (line 1642) | func (_e *MockReadWriteSeeker_Expecter) Write(p interface{}) *MockRead...
  type MockReadWriteSeeker_Read_Call (line 1510) | type MockReadWriteSeeker_Read_Call struct
    method Run (line 1520) | func (_c *MockReadWriteSeeker_Read_Call) Run(run func(p []byte)) *Mock...
    method Return (line 1533) | func (_c *MockReadWriteSeeker_Read_Call) Return(n int, err error) *Moc...
    method RunAndReturn (line 1538) | func (_c *MockReadWriteSeeker_Read_Call) RunAndReturn(run func(p []byt...
  type MockReadWriteSeeker_Seek_Call (line 1570) | type MockReadWriteSeeker_Seek_Call struct
    method Run (line 1581) | func (_c *MockReadWriteSeeker_Seek_Call) Run(run func(offset int64, wh...
    method Return (line 1599) | func (_c *MockReadWriteSeeker_Seek_Call) Return(n int64, err error) *M...
    method RunAndReturn (line 1604) | func (_c *MockReadWriteSeeker_Seek_Call) RunAndReturn(run func(offset ...
  type MockReadWriteSeeker_Write_Call (line 1636) | type MockReadWriteSeeker_Write_Call struct
    method Run (line 1646) | func (_c *MockReadWriteSeeker_Write_Call) Run(run func(p []byte)) *Moc...
    method Return (line 1659) | func (_c *MockReadWriteSeeker_Write_Call) Return(n int, err error) *Mo...
    method RunAndReturn (line 1664) | func (_c *MockReadWriteSeeker_Write_Call) RunAndReturn(run func(p []by...
  function NewMockReaderFrom (line 1671) | func NewMockReaderFrom(t interface {
  type MockReaderFrom (line 1684) | type MockReaderFrom struct
    method EXPECT (line 1692) | func (_m *MockReaderFrom) EXPECT() *MockReaderFrom_Expecter {
    method ReadFrom (line 1697) | func (_mock *MockReaderFrom) ReadFrom(r io.Reader) (int64, error) {
  type MockReaderFrom_Expecter (line 1688) | type MockReaderFrom_Expecter struct
    method ReadFrom (line 1729) | func (_e *MockReaderFrom_Expecter) ReadFrom(r interface{}) *MockReader...
  type MockReaderFrom_ReadFrom_Call (line 1723) | type MockReaderFrom_ReadFrom_Call struct
    method Run (line 1733) | func (_c *MockReaderFrom_ReadFrom_Call) Run(run func(r io.Reader)) *Mo...
    method Return (line 1746) | func (_c *MockReaderFrom_ReadFrom_Call) Return(n int64, err error) *Mo...
    method RunAndReturn (line 1751) | func (_c *MockReaderFrom_ReadFrom_Call) RunAndReturn(run func(r io.Rea...
  function NewMockWriterTo (line 1758) | func NewMockWriterTo(t interface {
  type MockWriterTo (line 1771) | type MockWriterTo struct
    method EXPECT (line 1779) | func (_m *MockWriterTo) EXPECT() *MockWriterTo_Expecter {
    method WriteTo (line 1784) | func (_mock *MockWriterTo) WriteTo(w io.Writer) (int64, error) {
  type MockWriterTo_Expecter (line 1775) | type MockWriterTo_Expecter struct
    method WriteTo (line 1816) | func (_e *MockWriterTo_Expecter) WriteTo(w interface{}) *MockWriterTo_...
  type MockWriterTo_WriteTo_Call (line 1810) | type MockWriterTo_WriteTo_Call struct
    method Run (line 1820) | func (_c *MockWriterTo_WriteTo_Call) Run(run func(w io.Writer)) *MockW...
    method Return (line 1833) | func (_c *MockWriterTo_WriteTo_Call) Return(n int64, err error) *MockW...
    method RunAndReturn (line 1838) | func (_c *MockWriterTo_WriteTo_Call) RunAndReturn(run func(w io.Writer...
  function NewMockReaderAt (line 1845) | func NewMockReaderAt(t interface {
  type MockReaderAt (line 1858) | type MockReaderAt struct
    method EXPECT (line 1866) | func (_m *MockReaderAt) EXPECT() *MockReaderAt_Expecter {
    method ReadAt (line 1871) | func (_mock *MockReaderAt) ReadAt(p []byte, off int64) (int, error) {
  type MockReaderAt_Expecter (line 1862) | type MockReaderAt_Expecter struct
    method ReadAt (line 1904) | func (_e *MockReaderAt_Expecter) ReadAt(p interface{}, off interface{}...
  type MockReaderAt_ReadAt_Call (line 1897) | type MockReaderAt_ReadAt_Call struct
    method Run (line 1908) | func (_c *MockReaderAt_ReadAt_Call) Run(run func(p []byte, off int64))...
    method Return (line 1926) | func (_c *MockReaderAt_ReadAt_Call) Return(n int, err error) *MockRead...
    method RunAndReturn (line 1931) | func (_c *MockReaderAt_ReadAt_Call) RunAndReturn(run func(p []byte, of...
  function NewMockWriterAt (line 1938) | func NewMockWriterAt(t interface {
  type MockWriterAt (line 1951) | type MockWriterAt struct
    method EXPECT (line 1959) | func (_m *MockWriterAt) EXPECT() *MockWriterAt_Expecter {
    method WriteAt (line 1964) | func (_mock *MockWriterAt) WriteAt(p []byte, off int64) (int, error) {
  type MockWriterAt_Expecter (line 1955) | type MockWriterAt_Expecter struct
    method WriteAt (line 1997) | func (_e *MockWriterAt_Expecter) WriteAt(p interface{}, off interface{...
  type MockWriterAt_WriteAt_Call (line 1990) | type MockWriterAt_WriteAt_Call struct
    method Run (line 2001) | func (_c *MockWriterAt_WriteAt_Call) Run(run func(p []byte, off int64)...
    method Return (line 2019) | func (_c *MockWriterAt_WriteAt_Call) Return(n int, err error) *MockWri...
    method RunAndReturn (line 2024) | func (_c *MockWriterAt_WriteAt_Call) RunAndReturn(run func(p []byte, o...
  function NewMockByteReader (line 2031) | func NewMockByteReader(t interface {
  type MockByteReader (line 2044) | type MockByteReader struct
    method EXPECT (line 2052) | func (_m *MockByteReader) EXPECT() *MockByteReader_Expecter {
    method ReadByte (line 2057) | func (_mock *MockByteReader) ReadByte() (byte, error) {
  type MockByteReader_Expecter (line 2048) | type MockByteReader_Expecter struct
    method ReadByte (line 2088) | func (_e *MockByteReader_Expecter) ReadByte() *MockByteReader_ReadByte...
  type MockByteReader_ReadByte_Call (line 2083) | type MockByteReader_ReadByte_Call struct
    method Run (line 2092) | func (_c *MockByteReader_ReadByte_Call) Run(run func()) *MockByteReade...
    method Return (line 2099) | func (_c *MockByteReader_ReadByte_Call) Return(v byte, err error) *Moc...
    method RunAndReturn (line 2104) | func (_c *MockByteReader_ReadByte_Call) RunAndReturn(run func() (byte,...
  function NewMockByteScanner (line 2111) | func NewMockByteScanner(t interface {
  type MockByteScanner (line 2124) | type MockByteScanner struct
    method EXPECT (line 2132) | func (_m *MockByteScanner) EXPECT() *MockByteScanner_Expecter {
    method ReadByte (line 2137) | func (_mock *MockByteScanner) ReadByte() (byte, error) {
    method UnreadByte (line 2190) | func (_mock *MockByteScanner) UnreadByte() error {
  type MockByteScanner_Expecter (line 2128) | type MockByteScanner_Expecter struct
    method ReadByte (line 2168) | func (_e *MockByteScanner_Expecter) ReadByte() *MockByteScanner_ReadBy...
    method UnreadByte (line 2212) | func (_e *MockByteScanner_Expecter) UnreadByte() *MockByteScanner_Unre...
  type MockByteScanner_ReadByte_Call (line 2163) | type MockByteScanner_ReadByte_Call struct
    method Run (line 2172) | func (_c *MockByteScanner_ReadByte_Call) Run(run func()) *MockByteScan...
    method Return (line 2179) | func (_c *MockByteScanner_ReadByte_Call) Return(v byte, err error) *Mo...
    method RunAndReturn (line 2184) | func (_c *MockByteScanner_ReadByte_Call) RunAndReturn(run func() (byte...
  type MockByteScanner_UnreadByte_Call (line 2207) | type MockByteScanner_UnreadByte_Call struct
    method Run (line 2216) | func (_c *MockByteScanner_UnreadByte_Call) Run(run func()) *MockByteSc...
    method Return (line 2223) | func (_c *MockByteScanner_UnreadByte_Call) Return(err error) *MockByte...
    method RunAndReturn (line 2228) | func (_c *MockByteScanner_UnreadByte_Call) RunAndReturn(run func() err...
  function NewMockByteWriter (line 2235) | func NewMockByteWriter(t interface {
  type MockByteWriter (line 2248) | type MockByteWriter struct
    method EXPECT (line 2256) | func (_m *MockByteWriter) EXPECT() *MockByteWriter_Expecter {
    method WriteByte (line 2261) | func (_mock *MockByteWriter) WriteByte(c byte) error {
  type MockByteWriter_Expecter (line 2252) | type MockByteWriter_Expecter struct
    method WriteByte (line 2284) | func (_e *MockByteWriter_Expecter) WriteByte(c interface{}) *MockByteW...
  type MockByteWriter_WriteByte_Call (line 2278) | type MockByteWriter_WriteByte_Call struct
    method Run (line 2288) | func (_c *MockByteWriter_WriteByte_Call) Run(run func(c byte)) *MockBy...
    method Return (line 2301) | func (_c *MockByteWriter_WriteByte_Call) Return(err error) *MockByteWr...
    method RunAndReturn (line 2306) | func (_c *MockByteWriter_WriteByte_Call) RunAndReturn(run func(c byte)...
  function NewMockRuneReader (line 2313) | func NewMockRuneReader(t interface {
  type MockRuneReader (line 2326) | type MockRuneReader struct
    method EXPECT (line 2334) | func (_m *MockRuneReader) EXPECT() *MockRuneReader_Expecter {
    method ReadRune (line 2339) | func (_mock *MockRuneReader) ReadRune() (rune, int, error) {
  type MockRuneReader_Expecter (line 2330) | type MockRuneReader_Expecter struct
    method ReadRune (line 2376) | func (_e *MockRuneReader_Expecter) ReadRune() *MockRuneReader_ReadRune...
  type MockRuneReader_ReadRune_Call (line 2371) | type MockRuneReader_ReadRune_Call struct
    method Run (line 2380) | func (_c *MockRuneReader_ReadRune_Call) Run(run func()) *MockRuneReade...
    method Return (line 2387) | func (_c *MockRuneReader_ReadRune_Call) Return(r rune, size int, err e...
    method RunAndReturn (line 2392) | func (_c *MockRuneReader_ReadRune_Call) RunAndReturn(run func() (rune,...
  function NewMockRuneScanner (line 2399) | func NewMockRuneScanner(t interface {
  type MockRuneScanner (line 2412) | type MockRuneScanner struct
    method EXPECT (line 2420) | func (_m *MockRuneScanner) EXPECT() *MockRuneScanner_Expecter {
    method ReadRune (line 2425) | func (_mock *MockRuneScanner) ReadRune() (rune, int, error) {
    method UnreadRune (line 2484) | func (_mock *MockRuneScanner) UnreadRune() error {
  type MockRuneScanner_Expecter (line 2416) | type MockRuneScanner_Expecter struct
    method ReadRune (line 2462) | func (_e *MockRuneScanner_Expecter) ReadRune() *MockRuneScanner_ReadRu...
    method UnreadRune (line 2506) | func (_e *MockRuneScanner_Expecter) UnreadRune() *MockRuneScanner_Unre...
  type MockRuneScanner_ReadRune_Call (line 2457) | type MockRuneScanner_ReadRune_Call struct
    method Run (line 2466) | func (_c *MockRuneScanner_ReadRune_Call) Run(run func()) *MockRuneScan...
    method Return (line 2473) | func (_c *MockRuneScanner_ReadRune_Call) Return(r rune, size int, err ...
    method RunAndReturn (line 2478) | func (_c *MockRuneScanner_ReadRune_Call) RunAndReturn(run func() (rune...
  type MockRuneScanner_UnreadRune_Call (line 2501) | type MockRuneScanner_UnreadRune_Call struct
    method Run (line 2510) | func (_c *MockRuneScanner_UnreadRune_Call) Run(run func()) *MockRuneSc...
    method Return (line 2517) | func (_c *MockRuneScanner_UnreadRune_Call) Return(err error) *MockRune...
    method RunAndReturn (line 2522) | func (_c *MockRuneScanner_UnreadRune_Call) RunAndReturn(run func() err...
  function NewMockStringWriter (line 2529) | func NewMockStringWriter(t interface {
  type MockStringWriter (line 2542) | type MockStringWriter struct
    method EXPECT (line 2550) | func (_m *MockStringWriter) EXPECT() *MockStringWriter_Expecter {
    method WriteString (line 2555) | func (_mock *MockStringWriter) WriteString(s string) (int, error) {
  type MockStringWriter_Expecter (line 2546) | type MockStringWriter_Expecter struct
    method WriteString (line 2587) | func (_e *MockStringWriter_Expecter) WriteString(s interface{}) *MockS...
  type MockStringWriter_WriteString_Call (line 2581) | type MockStringWriter_WriteString_Call struct
    method Run (line 2591) | func (_c *MockStringWriter_WriteString_Call) Run(run func(s string)) *...
    method Return (line 2604) | func (_c *MockStringWriter_WriteString_Call) Return(n int, err error) ...
    method RunAndReturn (line 2609) | func (_c *MockStringWriter_WriteString_Call) RunAndReturn(run func(s s...

FILE: internal/fixtures/mocks_matryer_test_test.go
  type MoqUsesAny (line 41) | type MoqUsesAny struct
    method GetReader (line 55) | func (mock *MoqUsesAny) GetReader() any {
    method GetReaderCalls (line 74) | func (mock *MoqUsesAny) GetReaderCalls() []struct {
    method ResetGetReaderCalls (line 85) | func (mock *MoqUsesAny) ResetGetReaderCalls() {
    method ResetCalls (line 92) | func (mock *MoqUsesAny) ResetCalls() {
  type MoqFooer (line 123) | type MoqFooer struct
    method Bar (line 157) | func (mock *MoqFooer) Bar(f func([]int)) {
    method BarCalls (line 176) | func (mock *MoqFooer) BarCalls() []struct {
    method ResetBarCalls (line 189) | func (mock *MoqFooer) ResetBarCalls() {
    method Baz (line 196) | func (mock *MoqFooer) Baz(path string) func(x string) string {
    method BazCalls (line 218) | func (mock *MoqFooer) BazCalls() []struct {
    method ResetBazCalls (line 231) | func (mock *MoqFooer) ResetBazCalls() {
    method Foo (line 238) | func (mock *MoqFooer) Foo(f func(x string) string) error {
    method FooCalls (line 260) | func (mock *MoqFooer) FooCalls() []struct {
    method ResetFooCalls (line 273) | func (mock *MoqFooer) ResetFooCalls() {
    method ResetCalls (line 280) | func (mock *MoqFooer) ResetCalls() {
  type MoqMapFunc (line 313) | type MoqMapFunc struct
    method Get (line 329) | func (mock *MoqMapFunc) Get(m map[string]func(string) string) error {
    method GetCalls (line 351) | func (mock *MoqMapFunc) GetCalls() []struct {
    method ResetGetCalls (line 364) | func (mock *MoqMapFunc) ResetGetCalls() {
    method ResetCalls (line 371) | func (mock *MoqMapFunc) ResetCalls() {
  type MoqAsyncProducer (line 402) | type MoqAsyncProducer struct
    method Input (line 430) | func (mock *MoqAsyncProducer) Input() chan<- bool {
    method InputCalls (line 449) | func (mock *MoqAsyncProducer) InputCalls() []struct {
    method ResetInputCalls (line 460) | func (mock *MoqAsyncProducer) ResetInputCalls() {
    method Output (line 467) | func (mock *MoqAsyncProducer) Output() <-chan bool {
    method OutputCalls (line 486) | func (mock *MoqAsyncProducer) OutputCalls() []struct {
    method ResetOutputCalls (line 497) | func (mock *MoqAsyncProducer) ResetOutputCalls() {
    method Whatever (line 504) | func (mock *MoqAsyncProducer) Whatever() chan bool {
    method WhateverCalls (line 523) | func (mock *MoqAsyncProducer) WhateverCalls() []struct {
    method ResetWhateverCalls (line 534) | func (mock *MoqAsyncProducer) ResetWhateverCalls() {
    method ResetCalls (line 541) | func (mock *MoqAsyncProducer) ResetCalls() {
  type MoqConsulLock (line 577) | type MoqConsulLock struct
    method Lock (line 600) | func (mock *MoqConsulLock) Lock(valCh <-chan struct{}) (<-chan struct{...
    method LockCalls (line 623) | func (mock *MoqConsulLock) LockCalls() []struct {
    method ResetLockCalls (line 636) | func (mock *MoqConsulLock) ResetLockCalls() {
    method Unlock (line 643) | func (mock *MoqConsulLock) Unlock() error {
    method UnlockCalls (line 662) | func (mock *MoqConsulLock) UnlockCalls() []struct {
    method ResetUnlockCalls (line 673) | func (mock *MoqConsulLock) ResetUnlockCalls() {
    method ResetCalls (line 680) | func (mock *MoqConsulLock) ResetCalls() {
  type MoqKeyManager (line 709) | type MoqKeyManager struct
    method GetKey (line 727) | func (mock *MoqKeyManager) GetKey(s string, v uint16) ([]byte, *Err) {
    method GetKeyCalls (line 752) | func (mock *MoqKeyManager) GetKeyCalls() []struct {
    method ResetGetKeyCalls (line 767) | func (mock *MoqKeyManager) ResetGetKeyCalls() {
    method ResetCalls (line 774) | func (mock *MoqKeyManager) ResetCalls() {
  type MoqBlank (line 799) | type MoqBlank struct
    method Create (line 815) | func (mock *MoqBlank) Create(x interface{}) error {
    method CreateCalls (line 837) | func (mock *MoqBlank) CreateCalls() []struct {
    method ResetCreateCalls (line 850) | func (mock *MoqBlank) ResetCreateCalls() {
    method ResetCalls (line 857) | func (mock *MoqBlank) ResetCalls() {
  type MoqExpecter (line 894) | type MoqExpecter struct
    method ManyArgsReturns (line 950) | func (mock *MoqExpecter) ManyArgsReturns(str string, i int) ([]string,...
    method ManyArgsReturnsCalls (line 975) | func (mock *MoqExpecter) ManyArgsReturnsCalls() []struct {
    method ResetManyArgsReturnsCalls (line 990) | func (mock *MoqExpecter) ResetManyArgsReturnsCalls() {
    method NoArg (line 997) | func (mock *MoqExpecter) NoArg() string {
    method NoArgCalls (line 1016) | func (mock *MoqExpecter) NoArgCalls() []struct {
    method ResetNoArgCalls (line 1027) | func (mock *MoqExpecter) ResetNoArgCalls() {
    method NoReturn (line 1034) | func (mock *MoqExpecter) NoReturn(str string) {
    method NoReturnCalls (line 1053) | func (mock *MoqExpecter) NoReturnCalls() []struct {
    method ResetNoReturnCalls (line 1066) | func (mock *MoqExpecter) ResetNoReturnCalls() {
    method Variadic (line 1073) | func (mock *MoqExpecter) Variadic(ints ...int) error {
    method VariadicCalls (line 1095) | func (mock *MoqExpecter) VariadicCalls() []struct {
    method ResetVariadicCalls (line 1108) | func (mock *MoqExpecter) ResetVariadicCalls() {
    method VariadicMany (line 1115) | func (mock *MoqExpecter) VariadicMany(i int, a string, intfs ...interf...
    method VariadicManyCalls (line 1141) | func (mock *MoqExpecter) VariadicManyCalls() []struct {
    method ResetVariadicManyCalls (line 1158) | func (mock *MoqExpecter) ResetVariadicManyCalls() {
    method ResetCalls (line 1165) | func (mock *MoqExpecter) ResetCalls() {
  type MoqVariadicNoReturnInterface (line 1206) | type MoqVariadicNoReturnInterface struct
    method VariadicNoReturn (line 1224) | func (mock *MoqVariadicNoReturnInterface) VariadicNoReturn(j int, is ....
    method VariadicNoReturnCalls (line 1245) | func (mock *MoqVariadicNoReturnInterface) VariadicNoReturnCalls() []st...
    method ResetVariadicNoReturnCalls (line 1260) | func (mock *MoqVariadicNoReturnInterface) ResetVariadicNoReturnCalls() {
    method ResetCalls (line 1267) | func (mock *MoqVariadicNoReturnInterface) ResetCalls() {
  type MoqFuncArgsCollision (line 1292) | type MoqFuncArgsCollision struct
    method Foo (line 1308) | func (mock *MoqFuncArgsCollision) Foo(ret interface{}) error {
    method FooCalls (line 1330) | func (mock *MoqFuncArgsCollision) FooCalls() []struct {
    method ResetFooCalls (line 1343) | func (mock *MoqFuncArgsCollision) ResetFooCalls() {
    method ResetCalls (line 1350) | func (mock *MoqFuncArgsCollision) ResetCalls() {
  type MoqGetInt (line 1375) | type MoqGetInt struct
    method Get (line 1389) | func (mock *MoqGetInt) Get() int {
    method GetCalls (line 1408) | func (mock *MoqGetInt) GetCalls() []struct {
    method ResetGetCalls (line 1419) | func (mock *MoqGetInt) ResetGetCalls() {
    method ResetCalls (line 1426) | func (mock *MoqGetInt) ResetCalls() {
  type MoqGetGeneric (line 1451) | type MoqGetGeneric struct
  method Get (line 1465) | func (mock *MoqGetGeneric[T]) Get() T {
  method GetCalls (line 1484) | func (mock *MoqGetGeneric[T]) GetCalls() []struct {
  method ResetGetCalls (line 1495) | func (mock *MoqGetGeneric[T]) ResetGetCalls() {
  method ResetCalls (line 1502) | func (mock *MoqGetGeneric[T]) ResetCalls() {
  type MoqEmbeddedGet (line 1527) | type MoqEmbeddedGet struct
  method Get (line 1541) | func (mock *MoqEmbeddedGet[T]) Get() T {
  method GetCalls (line 1560) | func (mock *MoqEmbeddedGet[T]) GetCalls() []struct {
  method ResetGetCalls (line 1571) | func (mock *MoqEmbeddedGet[T]) ResetGetCalls() {
  method ResetCalls (line 1578) | func (mock *MoqEmbeddedGet[T]) ResetCalls() {
  type MoqReplaceGeneric (line 1609) | type MoqReplaceGeneric struct
  method A (line 1639) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) A(t1 TImport...
  method ACalls (line 1661) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) ACalls() []s...
  method ResetACalls (line 1674) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) ResetACalls() {
  method B (line 1681) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) B() TImport {
  method BCalls (line 1700) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) BCalls() []s...
  method ResetBCalls (line 1711) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) ResetBCalls() {
  method C (line 1718) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) C() TConstra...
  method CCalls (line 1737) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) CCalls() []s...
  method ResetCCalls (line 1748) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) ResetCCalls() {
  method ResetCalls (line 1755) | func (mock *MoqReplaceGeneric[TImport, TConstraint, TKeep]) ResetCalls() {
  type MoqReplaceGenericSelf (line 1788) | type MoqReplaceGenericSelf struct
  method A (line 1802) | func (mock *MoqReplaceGenericSelf[T]) A() T {
  method ACalls (line 1821) | func (mock *MoqReplaceGenericSelf[T]) ACalls() []struct {
  method ResetACalls (line 1832) | func (mock *MoqReplaceGenericSelf[T]) ResetACalls() {
  method ResetCalls (line 1839) | func (mock *MoqReplaceGenericSelf[T]) ResetCalls() {
  type MoqHasConflictingNestedImports (line 1867) | type MoqHasConflictingNestedImports struct
    method Get (line 1890) | func (mock *MoqHasConflictingNestedImports) Get(path string) (http.Res...
    method GetCalls (line 1913) | func (mock *MoqHasConflictingNestedImports) GetCalls() []struct {
    method ResetGetCalls (line 1926) | func (mock *MoqHasConflictingNestedImports) ResetGetCalls() {
    method Z (line 1933) | func (mock *MoqHasConflictingNestedImports) Z() http0.MyStruct {
    method ZCalls (line 1952) | func (mock *MoqHasConflictingNestedImports) ZCalls() []struct {
    method ResetZCalls (line 1963) | func (mock *MoqHasConflictingNestedImports) ResetZCalls() {
    method ResetCalls (line 1970) | func (mock *MoqHasConflictingNestedImports) ResetCalls() {
  type MoqImportsSameAsPackage (line 2005) | type MoqImportsSameAsPackage struct
    method A (line 2035) | func (mock *MoqImportsSameAsPackage) A() test.B {
    method ACalls (line 2054) | func (mock *MoqImportsSameAsPackage) ACalls() []struct {
    method ResetACalls (line 2065) | func (mock *MoqImportsSameAsPackage) ResetACalls() {
    method B (line 2072) | func (mock *MoqImportsSameAsPackage) B() KeyManager {
    method BCalls (line 2091) | func (mock *MoqImportsSameAsPackage) BCalls() []struct {
    method ResetBCalls (line 2102) | func (mock *MoqImportsSameAsPackage) ResetBCalls() {
    method C (line 2109) | func (mock *MoqImportsSameAsPackage) C(c C) {
    method CCalls (line 2128) | func (mock *MoqImportsSameAsPackage) CCalls() []struct {
    method ResetCCalls (line 2141) | func (mock *MoqImportsSameAsPackage) ResetCCalls() {
    method ResetCalls (line 2148) | func (mock *MoqImportsSameAsPackage) ResetCalls() {
  type MoqGenericInterface (line 2181) | type MoqGenericInterface struct
  method Func (line 2197) | func (mock *MoqGenericInterface[M]) Func(arg *M) int {
  method FuncCalls (line 2219) | func (mock *MoqGenericInterface[M]) FuncCalls() []struct {
  method ResetFuncCalls (line 2232) | func (mock *MoqGenericInterface[M]) ResetFuncCalls() {
  method ResetCalls (line 2239) | func (mock *MoqGenericInterface[M]) ResetCalls() {
  type MoqInstantiatedGenericInterface (line 2264) | type MoqInstantiatedGenericInterface struct
    method Func (line 2280) | func (mock *MoqInstantiatedGenericInterface) Func(arg *float32) int {
    method FuncCalls (line 2302) | func (mock *MoqInstantiatedGenericInterface) FuncCalls() []struct {
    method ResetFuncCalls (line 2315) | func (mock *MoqInstantiatedGenericInterface) ResetFuncCalls() {
    method ResetCalls (line 2322) | func (mock *MoqInstantiatedGenericInterface) ResetCalls() {
  type MoqMyReader (line 2347) | type MoqMyReader struct
    method Read (line 2363) | func (mock *MoqMyReader) Read(p []byte) (int, error) {
    method ReadCalls (line 2386) | func (mock *MoqMyReader) ReadCalls() []struct {
    method ResetReadCalls (line 2399) | func (mock *MoqMyReader) ResetReadCalls() {
    method ResetCalls (line 2406) | func (mock *MoqMyReader) ResetCalls() {
  type MoqIssue766 (line 2431) | type MoqIssue766 struct
    method FetchData (line 2447) | func (mock *MoqIssue766) FetchData(fetchFunc func(x ...int) ([]int, er...
    method FetchDataCalls (line 2470) | func (mock *MoqIssue766) FetchDataCalls() []struct {
    method ResetFetchDataCalls (line 2483) | func (mock *MoqIssue766) ResetFetchDataCalls() {
    method ResetCalls (line 2490) | func (mock *MoqIssue766) ResetCalls() {
  type MoqMapToInterface (line 2515) | type MoqMapToInterface struct
    method Foo (line 2531) | func (mock *MoqMapToInterface) Foo(arg1 ...map[string]interface{}) {
    method FooCalls (line 2550) | func (mock *MoqMapToInterface) FooCalls() []struct {
    method ResetFooCalls (line 2563) | func (mock *MoqMapToInterface) ResetFooCalls() {
    method ResetCalls (line 2570) | func (mock *MoqMapToInterface) ResetCalls() {
  type MoqSibling (line 2595) | type MoqSibling struct
    method DoSomething (line 2609) | func (mock *MoqSibling) DoSomething() {
    method DoSomethingCalls (line 2625) | func (mock *MoqSibling) DoSomethingCalls() []struct {
    method ResetDoSomethingCalls (line 2636) | func (mock *MoqSibling) ResetDoSomethingCalls() {
    method ResetCalls (line 2643) | func (mock *MoqSibling) ResetCalls() {
  type MoqUsesOtherPkgIface (line 2668) | type MoqUsesOtherPkgIface struct
    method DoSomethingElse (line 2684) | func (mock *MoqUsesOtherPkgIface) DoSomethingElse(obj Sibling) {
    method DoSomethingElseCalls (line 2703) | func (mock *MoqUsesOtherPkgIface) DoSomethingElseCalls() []struct {
    method ResetDoSomethingElseCalls (line 2716) | func (mock *MoqUsesOtherPkgIface) ResetDoSomethingElseCalls() {
    method ResetCalls (line 2723) | func (mock *MoqUsesOtherPkgIface) ResetCalls() {
  type MoqNilRun (line 2748) | type MoqNilRun struct
    method Foo (line 2764) | func (mock *MoqNilRun) Foo(nilRun NilRun) {
    method FooCalls (line 2783) | func (mock *MoqNilRun) FooCalls() []struct {
    method ResetFooCalls (line 2796) | func (mock *MoqNilRun) ResetFooCalls() {
    method ResetCalls (line 2803) | func (mock *MoqNilRun) ResetCalls() {
  type MoqPanicOnNoReturnValue (line 2828) | type MoqPanicOnNoReturnValue struct
    method DoSomething (line 2842) | func (mock *MoqPanicOnNoReturnValue) DoSomething() string {
    method DoSomethingCalls (line 2861) | func (mock *MoqPanicOnNoReturnValue) DoSomethingCalls() []struct {
    method ResetDoSomethingCalls (line 2872) | func (mock *MoqPanicOnNoReturnValue) ResetDoSomethingCalls() {
    method ResetCalls (line 2879) | func (mock *MoqPanicOnNoReturnValue) ResetCalls() {
  type MoqRequesterSkipEnsure (line 2900) | type MoqRequesterSkipEnsure struct
    method Get (line 2916) | func (mock *MoqRequesterSkipEnsure) Get(path string) (string, error) {
    method GetCalls (line 2939) | func (mock *MoqRequesterSkipEnsure) GetCalls() []struct {
    method ResetGetCalls (line 2952) | func (mock *MoqRequesterSkipEnsure) ResetGetCalls() {
    method ResetCalls (line 2959) | func (mock *MoqRequesterSkipEnsure) ResetCalls() {
  type MoqRequester (line 2984) | type MoqRequester struct
    method Get (line 3000) | func (mock *MoqRequester) Get(path string) (string, error) {
    method GetCalls (line 3023) | func (mock *MoqRequester) GetCalls() []struct {
    method ResetGetCalls (line 3036) | func (mock *MoqRequester) ResetGetCalls() {
    method ResetCalls (line 3043) | func (mock *MoqRequester) ResetCalls() {
  type StubMatyerRequester (line 3068) | type StubMatyerRequester struct
    method Get (line 3084) | func (mock *StubMatyerRequester) Get(path string) (string, error) {
    method GetCalls (line 3107) | func (mock *StubMatyerRequester) GetCalls() []struct {
    method ResetGetCalls (line 3120) | func (mock *StubMatyerRequester) ResetGetCalls() {
    method ResetCalls (line 3127) | func (mock *StubMatyerRequester) ResetCalls() {
  type MoqRequester2 (line 3152) | type MoqRequester2 struct
    method Get (line 3168) | func (mock *MoqRequester2) Get(path string) error {
    method GetCalls (line 3190) | func (mock *MoqRequester2) GetCalls() []struct {
    method ResetGetCalls (line 3203) | func (mock *MoqRequester2) ResetGetCalls() {
    method ResetCalls (line 3210) | func (mock *MoqRequester2) ResetCalls() {
  type MoqRequester3 (line 3235) | type MoqRequester3 struct
    method Get (line 3249) | func (mock *MoqRequester3) Get() error {
    method GetCalls (line 3268) | func (mock *MoqRequester3) GetCalls() []struct {
    method ResetGetCalls (line 3279) | func (mock *MoqRequester3) ResetGetCalls() {
    method ResetCalls (line 3286) | func (mock *MoqRequester3) ResetCalls() {
  type MoqRequester4 (line 3311) | type MoqRequester4 struct
    method Get (line 3325) | func (mock *MoqRequester4) Get() {
    method GetCalls (line 3341) | func (mock *MoqRequester4) GetCalls() []struct {
    method ResetGetCalls (line 3352) | func (mock *MoqRequester4) ResetGetCalls() {
    method ResetCalls (line 3359) | func (mock *MoqRequester4) ResetCalls() {
  type MoqRequesterArgSameAsImport (line 3384) | type MoqRequesterArgSameAsImport struct
    method Get (line 3400) | func (mock *MoqRequesterArgSameAsImport) Get(json1 string) *json.RawMe...
    method GetCalls (line 3422) | func (mock *MoqRequesterArgSameAsImport) GetCalls() []struct {
    method ResetGetCalls (line 3435) | func (mock *MoqRequesterArgSameAsImport) ResetGetCalls() {
    method ResetCalls (line 3442) | func (mock *MoqRequesterArgSameAsImport) ResetCalls() {
  type MoqRequesterArgSameAsNamedImport (line 3467) | type MoqRequesterArgSameAsNamedImport struct
    method Get (line 3483) | func (mock *MoqRequesterArgSameAsNamedImport) Get(json1 string) *json....
    method GetCalls (line 3505) | func (mock *MoqRequesterArgSameAsNamedImport) GetCalls() []struct {
    method ResetGetCalls (line 3518) | func (mock *MoqRequesterArgSameAsNamedImport) ResetGetCalls() {
    method ResetCalls (line 3525) | func (mock *MoqRequesterArgSameAsNamedImport) ResetCalls() {
  type MoqRequesterArgSameAsPkg (line 3550) | type MoqRequesterArgSameAsPkg struct
    method Get (line 3566) | func (mock *MoqRequesterArgSameAsPkg) Get(test1 string) {
    method GetCalls (line 3585) | func (mock *MoqRequesterArgSameAsPkg) GetCalls() []struct {
    method ResetGetCalls (line 3598) | func (mock *MoqRequesterArgSameAsPkg) ResetGetCalls() {
    method ResetCalls (line 3605) | func (mock *MoqRequesterArgSameAsPkg) ResetCalls() {
  type MoqRequesterArray (line 3630) | type MoqRequesterArray struct
    method Get (line 3646) | func (mock *MoqRequesterArray) Get(path string) ([2]string, error) {
    method GetCalls (line 3669) | func (mock *MoqRequesterArray) GetCalls() []struct {
    method ResetGetCalls (line 3682) | func (mock *MoqRequesterArray) ResetGetCalls() {
    method ResetCalls (line 3689) | func (mock *MoqRequesterArray) ResetCalls() {
  type MoqRequesterElided (line 3714) | type MoqRequesterElided struct
    method Get (line 3732) | func (mock *MoqRequesterElided) Get(path string, url string) error {
    method GetCalls (line 3756) | func (mock *MoqRequesterElided) GetCalls() []struct {
    method ResetGetCalls (line 3771) | func (mock *MoqRequesterElided) ResetGetCalls() {
    method ResetCalls (line 3778) | func (mock *MoqRequesterElided) ResetCalls() {
  type MoqRequesterIface (line 3803) | type MoqRequesterIface struct
    method Get (line 3817) | func (mock *MoqRequesterIface) Get() io.Reader {
    method GetCalls (line 3836) | func (mock *MoqRequesterIface) GetCalls() []struct {
    method ResetGetCalls (line 3847) | func (mock *MoqRequesterIface) ResetGetCalls() {
    method ResetCalls (line 3854) | func (mock *MoqRequesterIface) ResetCalls() {
  type MoqRequesterNS (line 3879) | type MoqRequesterNS struct
    method Get (line 3895) | func (mock *MoqRequesterNS) Get(path string) (http.Response, error) {
    method GetCalls (line 3918) | func (mock *MoqRequesterNS) GetCalls() []struct {
    method ResetGetCalls (line 3931) | func (mock *MoqRequesterNS) ResetGetCalls() {
    method ResetCalls (line 3938) | func (mock *MoqRequesterNS) ResetCalls() {
  type MoqRequesterPtr (line 3963) | type MoqRequesterPtr struct
    method Get (line 3979) | func (mock *MoqRequesterPtr) Get(path string) (*string, error) {
    method GetCalls (line 4002) | func (mock *MoqRequesterPtr) GetCalls() []struct {
    method ResetGetCalls (line 4015) | func (mock *MoqRequesterPtr) ResetGetCalls() {
    method ResetCalls (line 4022) | func (mock *MoqRequesterPtr) ResetCalls() {
  type MoqRequesterReturnElided (line 4050) | type MoqRequesterReturnElided struct
    method Get (line 4075) | func (mock *MoqRequesterReturnElided) Get(path string) (int, int, int,...
    method GetCalls (line 4100) | func (mock *MoqRequesterReturnElided) GetCalls() []struct {
    method ResetGetCalls (line 4113) | func (mock *MoqRequesterReturnElided) ResetGetCalls() {
    method Put (line 4120) | func (mock *MoqRequesterReturnElided) Put(path string) (int, error) {
    method PutCalls (line 4143) | func (mock *MoqRequesterReturnElided) PutCalls() []struct {
    method ResetPutCalls (line 4156) | func (mock *MoqRequesterReturnElided) ResetPutCalls() {
    method ResetCalls (line 4163) | func (mock *MoqRequesterReturnElided) ResetCalls() {
  type MoqRequesterSlice (line 4192) | type MoqRequesterSlice struct
    method Get (line 4208) | func (mock *MoqRequesterSlice) Get(path string) ([]string, error) {
    method GetCalls (line 4231) | func (mock *MoqRequesterSlice) GetCalls() []struct {
    method ResetGetCalls (line 4244) | func (mock *MoqRequesterSlice) ResetGetCalls() {
    method ResetCalls (line 4251) | func (mock *MoqRequesterSlice) ResetCalls() {
  type MoqrequesterUnexported (line 4276) | type MoqrequesterUnexported struct
    method Get (line 4290) | func (mock *MoqrequesterUnexported) Get() {
    method GetCalls (line 4306) | func (mock *MoqrequesterUnexported) GetCalls() []struct {
    method ResetGetCalls (line 4317) | func (mock *MoqrequesterUnexported) ResetGetCalls() {
    method ResetCalls (line 4324) | func (mock *MoqrequesterUnexported) ResetCalls() {
  type MoqRequesterVariadic (line 4358) | type MoqRequesterVariadic struct
    method Get (line 4405) | func (mock *MoqRequesterVariadic) Get(values ...string) bool {
    method GetCalls (line 4427) | func (mock *MoqRequesterVariadic) GetCalls() []struct {
    method ResetGetCalls (line 4440) | func (mock *MoqRequesterVariadic) ResetGetCalls() {
    method MultiWriteToFile (line 4447) | func (mock *MoqRequesterVariadic) MultiWriteToFile(filename string, w ...
    method MultiWriteToFileCalls (line 4471) | func (mock *MoqRequesterVariadic) MultiWriteToFileCalls() []struct {
    method ResetMultiWriteToFileCalls (line 4486) | func (mock *MoqRequesterVariadic) ResetMultiWriteToFileCalls() {
    method OneInterface (line 4493) | func (mock *MoqRequesterVariadic) OneInterface(a ...interface{}) bool {
    method OneInterfaceCalls (line 4515) | func (mock *MoqRequesterVariadic) OneInterfaceCalls() []struct {
    method ResetOneInterfaceCalls (line 4528) | func (mock *MoqRequesterVariadic) ResetOneInterfaceCalls() {
    method Sprintf (line 4535) | func (mock *MoqRequesterVariadic) Sprintf(format string, a ...interfac...
    method SprintfCalls (line 4559) | func (mock *MoqRequesterVariadic) SprintfCalls() []struct {
    method ResetSprintfCalls (line 4574) | func (mock *MoqRequesterVariadic) ResetSprintfCalls() {
    method ResetCalls (line 4581) | func (mock *MoqRequesterVariadic) ResetCalls() {
  type MoqExample (line 4624) | type MoqExample struct
    method A (line 4656) | func (mock *MoqExample) A() http.Flusher {
    method ACalls (line 4675) | func (mock *MoqExample) ACalls() []struct {
    method ResetACalls (line 4686) | func (mock *MoqExample) ResetACalls() {
    method B (line 4693) | func (mock *MoqExample) B(fixtureshttp string) http0.MyStruct {
    method BCalls (line 4715) | func (mock *MoqExample) BCalls() []struct {
    method ResetBCalls (line 4728) | func (mock *MoqExample) ResetBCalls() {
    method C (line 4735) | func (mock *MoqExample) C(fixtureshttp string) http1.MyStruct {
    method CCalls (line 4757) | func (mock *MoqExample) CCalls() []struct {
    method ResetCCalls (line 4770) | func (mock *MoqExample) ResetCCalls() {
    method ResetCalls (line 4777) | func (mock *MoqExample) ResetCalls() {
  type MoqA (line 4810) | type MoqA struct
    method Call (line 4824) | func (mock *MoqA) Call() (B, error) {
    method CallCalls (line 4844) | func (mock *MoqA) CallCalls() []struct {
    method ResetCallCalls (line 4855) | func (mock *MoqA) ResetCallCalls() {
    method ResetCalls (line 4862) | func (mock *MoqA) ResetCalls() {
  type MoqStructWithTag (line 4887) | type MoqStructWithTag struct
    method MethodA (line 4912) | func (mock *MoqStructWithTag) MethodA(v *struct {
    method MethodACalls (line 4946) | func (mock *MoqStructWithTag) MethodACalls() []struct {
    method ResetMethodACalls (line 4965) | func (mock *MoqStructWithTag) ResetMethodACalls() {
    method ResetCalls (line 4972) | func (mock *MoqStructWithTag) ResetCalls() {
  type MoqUnsafeInterface (line 4997) | type MoqUnsafeInterface struct
    method Do (line 5013) | func (mock *MoqUnsafeInterface) Do(ptr *unsafe.Pointer) {
    method DoCalls (line 5032) | func (mock *MoqUnsafeInterface) DoCalls() []struct {
    method ResetDoCalls (line 5045) | func (mock *MoqUnsafeInterface) ResetDoCalls() {
    method ResetCalls (line 5052) | func (mock *MoqUnsafeInterface) ResetCalls() {
  type MoqVariadic (line 5077) | type MoqVariadic struct
    method VariadicFunction (line 5095) | func (mock *MoqVariadic) VariadicFunction(str string, vFunc VariadicFu...
    method VariadicFunctionCalls (line 5119) | func (mock *MoqVariadic) VariadicFunctionCalls() []struct {
    method ResetVariadicFunctionCalls (line 5134) | func (mock *MoqVariadic) ResetVariadicFunctionCalls() {
    method ResetCalls (line 5141) | func (mock *MoqVariadic) ResetCalls() {
  type MoqVariadicReturnFunc (line 5166) | type MoqVariadicReturnFunc struct
    method SampleMethod (line 5182) | func (mock *MoqVariadicReturnFunc) SampleMethod(str string) func(str s...
    method SampleMethodCalls (line 5204) | func (mock *MoqVariadicReturnFunc) SampleMethodCalls() []struct {
    method ResetSampleMethodCalls (line 5217) | func (mock *MoqVariadicReturnFunc) ResetSampleMethodCalls() {
    method ResetCalls (line 5224) | func (mock *MoqVariadicReturnFunc) ResetCalls() {
  type MoqVariadicWithMultipleReturns (line 5249) | type MoqVariadicWithMultipleReturns struct
    method Foo (line 5267) | func (mock *MoqVariadicWithMultipleReturns) Foo(one string, two ...str...
    method FooCalls (line 5292) | func (mock *MoqVariadicWithMultipleReturns) FooCalls() []struct {
    method ResetFooCalls (line 5307) | func (mock *MoqVariadicWithMultipleReturns) ResetFooCalls() {
    method ResetCalls (line 5314) | func (mock *MoqVariadicWithMultipleReturns) ResetCalls() {
  type MoqVariadicWithNoReturns (line 5339) | type MoqVariadicWithNoReturns struct
    method Foo (line 5357) | func (mock *MoqVariadicWithNoReturns) Foo(one string, two ...string) {
    method FooCalls (line 5378) | func (mock *MoqVariadicWithNoReturns) FooCalls() []struct {
    method ResetFooCalls (line 5393) | func (mock *MoqVariadicWithNoReturns) ResetFooCalls() {
    method ResetCalls (line 5400) | func (mock *MoqVariadicWithNoReturns) ResetCalls() {

FILE: internal/fixtures/mocks_net_http_test.go
  function NewMockResponseWriter (line 17) | func NewMockResponseWriter(t interface {
  type MockResponseWriter (line 30) | type MockResponseWriter struct
    method EXPECT (line 38) | func (_m *MockResponseWriter) EXPECT() *MockResponseWriter_Expecter {
    method Header (line 43) | func (_mock *MockResponseWriter) Header() http.Header {
    method Write (line 89) | func (_mock *MockResponseWriter) Write(bytes []byte) (int, error) {
    method WriteHeader (line 149) | func (_mock *MockResponseWriter) WriteHeader(statusCode int) {
  type MockResponseWriter_Expecter (line 34) | type MockResponseWriter_Expecter struct
    method Header (line 67) | func (_e *MockResponseWriter_Expecter) Header() *MockResponseWriter_He...
    method Write (line 121) | func (_e *MockResponseWriter_Expecter) Write(bytes interface{}) *MockR...
    method WriteHeader (line 161) | func (_e *MockResponseWriter_Expecter) WriteHeader(statusCode interfac...
  type MockResponseWriter_Header_Call (line 62) | type MockResponseWriter_Header_Call struct
    method Run (line 71) | func (_c *MockResponseWriter_Header_Call) Run(run func()) *MockRespons...
    method Return (line 78) | func (_c *MockResponseWriter_Header_Call) Return(header http.Header) *...
    method RunAndReturn (line 83) | func (_c *MockResponseWriter_Header_Call) RunAndReturn(run func() http...
  type MockResponseWriter_Write_Call (line 115) | type MockResponseWriter_Write_Call struct
    method Run (line 125) | func (_c *MockResponseWriter_Write_Call) Run(run func(bytes []byte)) *...
    method Return (line 138) | func (_c *MockResponseWriter_Write_Call) Return(n int, err error) *Moc...
    method RunAndReturn (line 143) | func (_c *MockResponseWriter_Write_Call) RunAndReturn(run func(bytes [...
  type MockResponseWriter_WriteHeader_Call (line 155) | type MockResponseWriter_WriteHeader_Call struct
    method Run (line 165) | func (_c *MockResponseWriter_WriteHeader_Call) Run(run func(statusCode...
    method Return (line 178) | func (_c *MockResponseWriter_WriteHeader_Call) Return() *MockResponseW...
    method RunAndReturn (line 183) | func (_c *MockResponseWriter_WriteHeader_Call) RunAndReturn(run func(s...

FILE: internal/fixtures/mocks_testify_test_test.go
  function NewMockUsesAny (line 24) | func NewMockUsesAny(t interface {
  type MockUsesAny (line 37) | type MockUsesAny struct
    method EXPECT (line 45) | func (_m *MockUsesAny) EXPECT() *MockUsesAny_Expecter {
    method GetReader (line 50) | func (_mock *MockUsesAny) GetReader() any {
  type MockUsesAny_Expecter (line 41) | type MockUsesAny_Expecter struct
    method GetReader (line 74) | func (_e *MockUsesAny_Expecter) GetReader() *MockUsesAny_GetReader_Call {
  type MockUsesAny_GetReader_Call (line 69) | type MockUsesAny_GetReader_Call struct
    method Run (line 78) | func (_c *MockUsesAny_GetReader_Call) Run(run func()) *MockUsesAny_Get...
    method Return (line 85) | func (_c *MockUsesAny_GetReader_Call) Return(v any) *MockUsesAny_GetRe...
    method RunAndReturn (line 90) | func (_c *MockUsesAny_GetReader_Call) RunAndReturn(run func() any) *Mo...
  function NewMockFooer (line 97) | func NewMockFooer(t interface {
  type MockFooer (line 110) | type MockFooer struct
    method EXPECT (line 118) | func (_m *MockFooer) EXPECT() *MockFooer_Expecter {
    method Bar (line 123) | func (_mock *MockFooer) Bar(f func([]int)) {
    method Baz (line 163) | func (_mock *MockFooer) Baz(path string) func(x string) string {
    method Foo (line 216) | func (_mock *MockFooer) Foo(f func(x string) string) error {
  type MockFooer_Expecter (line 114) | type MockFooer_Expecter struct
    method Bar (line 135) | func (_e *MockFooer_Expecter) Bar(f interface{}) *MockFooer_Bar_Call {
    method Baz (line 188) | func (_e *MockFooer_Expecter) Baz(path interface{}) *MockFooer_Baz_Call {
    method Foo (line 239) | func (_e *MockFooer_Expecter) Foo(f interface{}) *MockFooer_Foo_Call {
  type MockFooer_Bar_Call (line 129) | type MockFooer_Bar_Call struct
    method Run (line 139) | func (_c *MockFooer_Bar_Call) Run(run func(f func([]int))) *MockFooer_...
    method Return (line 152) | func (_c *MockFooer_Bar_Call) Return() *MockFooer_Bar_Call {
    method RunAndReturn (line 157) | func (_c *MockFooer_Bar_Call) RunAndReturn(run func(f func([]int))) *M...
  type MockFooer_Baz_Call (line 182) | type MockFooer_Baz_Call struct
    method Run (line 192) | func (_c *MockFooer_Baz_Call) Run(run func(path string)) *MockFooer_Ba...
    method Return (line 205) | func (_c *MockFooer_Baz_Call) Return(fn func(x string) string) *MockFo...
    method RunAndReturn (line 210) | func (_c *MockFooer_Baz_Call) RunAndReturn(run func(path string) func(...
  type MockFooer_Foo_Call (line 233) | type MockFooer_Foo_Call struct
    method Run (line 243) | func (_c *MockFooer_Foo_Call) Run(run func(f func(x string) string)) *...
    method Return (line 256) | func (_c *MockFooer_Foo_Call) Return(err error) *MockFooer_Foo_Call {
    method RunAndReturn (line 261) | func (_c *MockFooer_Foo_Call) RunAndReturn(run func(f func(x string) s...
  function NewMockMapFunc (line 268) | func NewMockMapFunc(t interface {
  type MockMapFunc (line 281) | type MockMapFunc struct
    method EXPECT (line 289) | func (_m *MockMapFunc) EXPECT() *MockMapFunc_Expecter {
    method Get (line 294) | func (_mock *MockMapFunc) Get(m map[string]func(string) string) error {
  type MockMapFunc_Expecter (line 285) | type MockMapFunc_Expecter struct
    method Get (line 317) | func (_e *MockMapFunc_Expecter) Get(m interface{}) *MockMapFunc_Get_Ca...
  type MockMapFunc_Get_Call (line 311) | type MockMapFunc_Get_Call struct
    method Run (line 321) | func (_c *MockMapFunc_Get_Call) Run(run func(m map[string]func(string)...
    method Return (line 334) | func (_c *MockMapFunc_Get_Call) Return(err error) *MockMapFunc_Get_Call {
    method RunAndReturn (line 339) | func (_c *MockMapFunc_Get_Call) RunAndReturn(run func(m map[string]fun...
  function NewMockAsyncProducer (line 346) | func NewMockAsyncProducer(t interface {
  type MockAsyncProducer (line 359) | type MockAsyncProducer struct
    method EXPECT (line 367) | func (_m *MockAsyncProducer) EXPECT() *MockAsyncProducer_Expecter {
    method Input (line 372) | func (_mock *MockAsyncProducer) Input() chan<- bool {
    method Output (line 418) | func (_mock *MockAsyncProducer) Output() <-chan bool {
    method Whatever (line 464) | func (_mock *MockAsyncProducer) Whatever() chan bool {
  type MockAsyncProducer_Expecter (line 363) | type MockAsyncProducer_Expecter struct
    method Input (line 396) | func (_e *MockAsyncProducer_Expecter) Input() *MockAsyncProducer_Input...
    method Output (line 442) | func (_e *MockAsyncProducer_Expecter) Output() *MockAsyncProducer_Outp...
    method Whatever (line 488) | func (_e *MockAsyncProducer_Expecter) Whatever() *MockAsyncProducer_Wh...
  type MockAsyncProducer_Input_Call (line 391) | type MockAsyncProducer_Input_Call struct
    method Run (line 400) | func (_c *MockAsyncProducer_Input_Call) Run(run func()) *MockAsyncProd...
    method Return (line 407) | func (_c *MockAsyncProducer_Input_Call) Return(boolCh chan<- bool) *Mo...
    method RunAndReturn (line 412) | func (_c *MockAsyncProducer_Input_Call) RunAndReturn(run func() chan<-...
  type MockAsyncProducer_Output_Call (line 437) | type MockAsyncProducer_Output_Call struct
    method Run (line 446) | func (_c *MockAsyncProducer_Output_Call) Run(run func()) *MockAsyncPro...
    method Return (line 453) | func (_c *MockAsyncProducer_Output_Call) Return(boolCh <-chan bool) *M...
    method RunAndReturn (line 458) | func (_c *MockAsyncProducer_Output_Call) RunAndReturn(run func() <-cha...
  type MockAsyncProducer_Whatever_Call (line 483) | type MockAsyncProducer_Whatever_Call struct
    method Run (line 492) | func (_c *MockAsyncProducer_Whatever_Call) Run(run func()) *MockAsyncP...
    method Return (line 499) | func (_c *MockAsyncProducer_Whatever_Call) Return(boolCh chan bool) *M...
    method RunAndReturn (line 504) | func (_c *MockAsyncProducer_Whatever_Call) RunAndReturn(run func() cha...
  function NewMockConsulLock (line 511) | func NewMockConsulLock(t interface {
  type MockConsulLock (line 524) | type MockConsulLock struct
    method EXPECT (line 532) | func (_m *MockConsulLock) EXPECT() *MockConsulLock_Expecter {
    method Lock (line 537) | func (_mock *MockConsulLock) Lock(valCh <-chan struct{}) (<-chan struc...
    method Unlock (line 599) | func (_mock *MockConsulLock) Unlock() error {
  type MockConsulLock_Expecter (line 528) | type MockConsulLock_Expecter struct
    method Lock (line 571) | func (_e *MockConsulLock_Expecter) Lock(valCh interface{}) *MockConsul...
    method Unlock (line 621) | func (_e *MockConsulLock_Expecter) Unlock() *MockConsulLock_Unlock_Call {
  type MockConsulLock_Lock_Call (line 565) | type MockConsulLock_Lock_Call struct
    method Run (line 575) | func (_c *MockConsulLock_Lock_Call) Run(run func(valCh <-chan struct{}...
    method Return (line 588) | func (_c *MockConsulLock_Lock_Call) Return(valCh1 <-chan struct{}, err...
    method RunAndReturn (line 593) | func (_c *MockConsulLock_Lock_Call) RunAndReturn(run func(valCh <-chan...
  type MockConsulLock_Unlock_Call (line 616) | type MockConsulLock_Unlock_Call struct
    method Run (line 625) | func (_c *MockConsulLock_Unlock_Call) Run(run func()) *MockConsulLock_...
    method Return (line 632) | func (_c *MockConsulLock_Unlock_Call) Return(err error) *MockConsulLoc...
    method RunAndReturn (line 637) | func (_c *MockConsulLock_Unlock_Call) RunAndReturn(run func() error) *...
  function NewMockKeyManager (line 644) | func NewMockKeyManager(t interface {
  type MockKeyManager (line 657) | type MockKeyManager struct
    method EXPECT (line 665) | func (_m *MockKeyManager) EXPECT() *MockKeyManager_Expecter {
    method GetKey (line 670) | func (_mock *MockKeyManager) GetKey(s string, v uint16) ([]byte, *Err) {
  type MockKeyManager_Expecter (line 661) | type MockKeyManager_Expecter struct
    method GetKey (line 707) | func (_e *MockKeyManager_Expecter) GetKey(s interface{}, v interface{}...
  type MockKeyManager_GetKey_Call (line 700) | type MockKeyManager_GetKey_Call struct
    method Run (line 711) | func (_c *MockKeyManager_GetKey_Call) Run(run func(s string, v uint16)...
    method Return (line 729) | func (_c *MockKeyManager_GetKey_Call) Return(bytes []byte, err *Err) *...
    method RunAndReturn (line 734) | func (_c *MockKeyManager_GetKey_Call) RunAndReturn(run func(s string, ...
  function NewMockBlank (line 741) | func NewMockBlank(t interface {
  type MockBlank (line 754) | type MockBlank struct
    method EXPECT (line 762) | func (_m *MockBlank) EXPECT() *MockBlank_Expecter {
    method Create (line 767) | func (_mock *MockBlank) Create(x interface{}) error {
  type MockBlank_Expecter (line 758) | type MockBlank_Expecter struct
    method Create (line 790) | func (_e *MockBlank_Expecter) Create(x interface{}) *MockBlank_Create_...
  type MockBlank_Create_Call (line 784) | type MockBlank_Create_Call struct
    method Run (line 794) | func (_c *MockBlank_Create_Call) Run(run func(x interface{})) *MockBla...
    method Return (line 807) | func (_c *MockBlank_Create_Call) Return(err error) *MockBlank_Create_C...
    method RunAndReturn (line 812) | func (_c *MockBlank_Create_Call) RunAndReturn(run func(x interface{}) ...
  function NewMockExpecterAndRolledVariadic (line 819) | func NewMockExpecterAndRolledVariadic(t interface {
  type MockExpecterAndRolledVariadic (line 832) | type MockExpecterAndRolledVariadic struct
    method EXPECT (line 840) | func (_m *MockExpecterAndRolledVariadic) EXPECT() *MockExpecterAndRoll...
    method ManyArgsReturns (line 845) | func (_mock *MockExpecterAndRolledVariadic) ManyArgsReturns(str string...
    method NoArg (line 913) | func (_mock *MockExpecterAndRolledVariadic) NoArg() string {
    method NoReturn (line 957) | func (_mock *MockExpecterAndRolledVariadic) NoReturn(str string) {
    method Variadic (line 997) | func (_mock *MockExpecterAndRolledVariadic) Variadic(ints ...int) error {
    method VariadicMany (line 1057) | func (_mock *MockExpecterAndRolledVariadic) VariadicMany(i int, a stri...
  type MockExpecterAndRolledVariadic_Expecter (line 836) | type MockExpecterAndRolledVariadic_Expecter struct
    method ManyArgsReturns (line 880) | func (_e *MockExpecterAndRolledVariadic_Expecter) ManyArgsReturns(str ...
    method NoArg (line 935) | func (_e *MockExpecterAndRolledVariadic_Expecter) NoArg() *MockExpecte...
    method NoReturn (line 969) | func (_e *MockExpecterAndRolledVariadic_Expecter) NoReturn(str interfa...
    method Variadic (line 1026) | func (_e *MockExpecterAndRolledVariadic_Expecter) Variadic(ints ...int...
    method VariadicMany (line 1088) | func (_e *MockExpecterAndRolledVariadic_Expecter) VariadicMany(i inter...
  type MockExpecterAndRolledVariadic_ManyArgsReturns_Call (line 873) | type MockExpecterAndRolledVariadic_ManyArgsReturns_Call struct
    method Run (line 884) | func (_c *MockExpecterAndRolledVariadic_ManyArgsReturns_Call) Run(run ...
    method Return (line 902) | func (_c *MockExpecterAndRolledVariadic_ManyArgsReturns_Call) Return(s...
    method RunAndReturn (line 907) | func (_c *MockExpecterAndRolledVariadic_ManyArgsReturns_Call) RunAndRe...
  type MockExpecterAndRolledVariadic_NoArg_Call (line 930) | type MockExpecterAndRolledVariadic_NoArg_Call struct
    method Run (line 939) | func (_c *MockExpecterAndRolledVariadic_NoArg_Call) Run(run func()) *M...
    method Return (line 946) | func (_c *MockExpecterAndRolledVariadic_NoArg_Call) Return(s string) *...
    method RunAndReturn (line 951) | func (_c *MockExpecterAndRolledVariadic_NoArg_Call) RunAndReturn(run f...
  type MockExpecterAndRolledVariadic_NoReturn_Call (line 963) | type MockExpecterAndRolledVariadic_NoReturn_Call struct
    method Run (line 973) | func (_c *MockExpecterAndRolledVariadic_NoReturn_Call) Run(run func(st...
    method Return (line 986) | func (_c *MockExpecterAndRolledVariadic_NoReturn_Call) Return() *MockE...
    method RunAndReturn (line 991) | func (_c *MockExpecterAndRolledVariadic_NoReturn_Call) RunAndReturn(ru...
  type MockExpecterAndRolledVariadic_Variadic_Call (line 1020) | type MockExpecterAndRolledVariadic_Variadic_Call struct
    method Run (line 1031) | func (_c *MockExpecterAndRolledVariadic_Variadic_Call) Run(run func(in...
    method Return (line 1046) | func (_c *MockExpecterAndRolledVariadic_Variadic_Call) Return(err erro...
    method RunAndReturn (line 1051) | func (_c *MockExpecterAndRolledVariadic_Variadic_Call) RunAndReturn(ru...
  type MockExpecterAndRolledVariadic_VariadicMany_Call (line 1080) | type MockExpecterAndRolledVariadic_VariadicMany_Call struct
    method Run (line 1093) | func (_c *MockExpecterAndRolledVariadic_VariadicMany_Call) Run(run fun...
    method Return (line 1118) | func (_c *MockExpecterAndRolledVariadic_VariadicMany_Call) Return(err ...
    method RunAndReturn (line 1123) | func (_c *MockExpecterAndRolledVariadic_VariadicMany_Call) RunAndRetur...
  function NewMockExpecter (line 1130) | func NewMockExpecter(t interface {
  type MockExpecter (line 1143) | type MockExpecter struct
    method EXPECT (line 1151) | func (_m *MockExpecter) EXPECT() *MockExpecter_Expecter {
    method ManyArgsReturns (line 1156) | func (_mock *MockExpecter) ManyArgsReturns(str string, i int) ([]strin...
    method NoArg (line 1224) | func (_mock *MockExpecter) NoArg() string {
    method NoReturn (line 1268) | func (_mock *MockExpecter) NoReturn(str string) {
    method Variadic (line 1308) | func (_mock *MockExpecter) Variadic(ints ...int) error {
    method VariadicMany (line 1371) | func (_mock *MockExpecter) VariadicMany(i int, a string, intfs ...inte...
  type MockExpecter_Expecter (line 1147) | type MockExpecter_Expecter struct
    method ManyArgsReturns (line 1191) | func (_e *MockExpecter_Expecter) ManyArgsReturns(str interface{}, i in...
    method NoArg (line 1246) | func (_e *MockExpecter_Expecter) NoArg() *MockExpecter_NoArg_Call {
    method NoReturn (line 1280) | func (_e *MockExpecter_Expecter) NoReturn(str interface{}) *MockExpect...
    method Variadic (line 1338) | func (_e *MockExpecter_Expecter) Variadic(ints ...interface{}) *MockEx...
    method VariadicMany (line 1399) | func (_e *MockExpecter_Expecter) VariadicMany(i interface{}, a interfa...
  type MockExpecter_ManyArgsReturns_Call (line 1184) | type MockExpecter_ManyArgsReturns_Call struct
    method Run (line 1195) | func (_c *MockExpecter_ManyArgsReturns_Call) Run(run func(str string, ...
    method Return (line 1213) | func (_c *MockExpecter_ManyArgsReturns_Call) Return(strs []string, err...
    method RunAndReturn (line 1218) | func (_c *MockExpecter_ManyArgsReturns_Call) RunAndReturn(run func(str...
  type MockExpecter_NoArg_Call (line 1241) | type MockExpecter_NoArg_Call struct
    method Run (line 1250) | func (_c *MockExpecter_NoArg_Call) Run(run func()) *MockExpecter_NoArg...
    method Return (line 1257) | func (_c *MockExpecter_NoArg_Call) Return(s string) *MockExpecter_NoAr...
    method RunAndReturn (line 1262) | func (_c *MockExpecter_NoArg_Call) RunAndReturn(run func() string) *Mo...
  type MockExpecter_NoReturn_Call (line 1274) | type MockExpecter_NoReturn_Call struct
    method Run (line 1284) | func (_c *MockExpecter_NoReturn_Call) Run(run func(str string)) *MockE...
    method Return (line 1297) | func (_c *MockExpecter_NoReturn_Call) Return() *MockExpecter_NoReturn_...
    method RunAndReturn (line 1302) | func (_c *MockExpecter_NoReturn_Call) RunAndReturn(run func(str string...
  type MockExpecter_Variadic_Call (line 1332) | type MockExpecter_Variadic_Call struct
    method Run (line 1343) | func (_c *MockExpecter_Variadic_Call) Run(run func(ints ...int)) *Mock...
    method Return (line 1360) | func (_c *MockExpecter_Variadic_Call) Return(err error) *MockExpecter_...
    method RunAndReturn (line 1365) | func (_c *MockExpecter_Variadic_Call) RunAndReturn(run func(ints ...in...
  type MockExpecter_VariadicMany_Call (line 1391) | type MockExpecter_VariadicMany_Call struct
    method Run (line 1404) | func (_c *MockExpecter_VariadicMany_Call) Run(run func(i int, a string...
    method Return (line 1431) | func (_c *MockExpecter_VariadicMany_Call) Return(err error) *MockExpec...
    method RunAndReturn (line 1436) | func (_c *MockExpecter_VariadicMany_Call) RunAndReturn(run func(i int,...
  function NewMockVariadicNoReturnInterface (line 1443) | func NewMockVariadicNoReturnInterface(t interface {
  type MockVariadicNoReturnInterface (line 1456) | type MockVariadicNoReturnInterface struct
    method EXPECT (line 1464) | func (_m *MockVariadicNoReturnInterface) EXPECT() *MockVariadicNoRetur...
    method VariadicNoReturn (line 1469) | func (_mock *MockVariadicNoReturnInterface) VariadicNoReturn(j int, is...
  type MockVariadicNoReturnInterface_Expecter (line 1460) | type MockVariadicNoReturnInterface_Expecter struct
    method VariadicNoReturn (line 1487) | func (_e *MockVariadicNoReturnInterface_Expecter) VariadicNoReturn(j i...
  type MockVariadicNoReturnInterface_VariadicNoReturn_Call (line 1480) | type MockVariadicNoReturnInterface_VariadicNoReturn_Call struct
    method Run (line 1492) | func (_c *MockVariadicNoReturnInterface_VariadicNoReturn_Call) Run(run...
    method Return (line 1512) | func (_c *MockVariadicNoReturnInterface_VariadicNoReturn_Call) Return(...
    method RunAndReturn (line 1517) | func (_c *MockVariadicNoReturnInterface_VariadicNoReturn_Call) RunAndR...
  function NewMockFuncArgsCollision (line 1524) | func NewMockFuncArgsCollision(t interface {
  type MockFuncArgsCollision (line 1537) | type MockFuncArgsCollision struct
    method EXPECT (line 1545) | func (_m *MockFuncArgsCollision) EXPECT() *MockFuncArgsCollision_Expec...
    method Foo (line 1550) | func (_mock *MockFuncArgsCollision) Foo(ret interface{}) error {
  type MockFuncArgsCollision_Expecter (line 1541) | type MockFuncArgsCollision_Expecter struct
    method Foo (line 1573) | func (_e *MockFuncArgsCollision_Expecter) Foo(ret interface{}) *MockFu...
  type MockFuncArgsCollision_Foo_Call (line 1567) | type MockFuncArgsCollision_Foo_Call struct
    method Run (line 1577) | func (_c *MockFuncArgsCollision_Foo_Call) Run(run func(ret interface{}...
    method Return (line 1590) | func (_c *MockFuncArgsCollision_Foo_Call) Return(err error) *MockFuncA...
    method RunAndReturn (line 1595) | func (_c *MockFuncArgsCollision_Foo_Call) RunAndReturn(run func(ret in...
  function NewMockRequesterGenerics (line 1602) | func NewMockRequesterGenerics[TAny any, TComparable comparable, TSigned ...
  type MockRequesterGenerics (line 1618) | type MockRequesterGenerics struct
  type MockRequesterGenerics_Expecter (line 1625) | type MockRequesterGenerics_Expecter struct
  method EXPECT (line 1632) | func (_m *MockRequesterGenerics[TAny, TComparable, TSigned, TIntf, TExte...
  method GenericAnonymousStructs (line 1637) | func (_mock *MockRequesterGenerics[TAny, TComparable, TSigned, TIntf, TE...
  type MockRequesterGenerics_GenericAnonymousStructs_Call (line 1662) | type MockRequesterGenerics_GenericAnonymousStructs_Call struct
  method GenericAnonymousStructs (line 1671) | func (_e *MockRequesterGenerics_Expecter[TAny, TComparable, TSigned, TIn...
  method Run (line 1675) | func (_c *MockRequesterGenerics_GenericAnonymousStructs_Call[TAny, TComp...
  method Return (line 1688) | func (_c *MockRequesterGenerics_GenericAnonymousStructs_Call[TAny, TComp...
  method RunAndReturn (line 1695) | func (_c *MockRequesterGenerics_GenericAnonymousStructs_Call[TAny, TComp...
  method GenericArguments (line 1703) | func (_mock *MockRequesterGenerics[TAny, TComparable, TSigned, TIntf, TE...
  type MockRequesterGenerics_GenericArguments_Call (line 1733) | type MockRequesterGenerics_GenericArguments_Call struct
  method GenericArguments (line 1743) | func (_e *MockRequesterGenerics_Expecter[TAny, TComparable, TSigned, TIn...
  method Run (line 1747) | func (_c *MockRequesterGenerics_GenericArguments_Call[TAny, TComparable,...
  method Return (line 1765) | func (_c *MockRequesterGenerics_GenericArguments_Call[TAny, TComparable,...
  method RunAndReturn (line 1770) | func (_c *MockRequesterGenerics_GenericArguments_Call[TAny, TComparable,...
  method GenericStructs (line 1776) | func (_mock *MockRequesterGenerics[TAny, TComparable, TSigned, TIntf, TE...
  type MockRequesterGenerics_GenericStructs_Call (line 1793) | type MockRequesterGenerics_GenericStructs_Call struct
  method GenericStructs (line 1802) | func (_e *MockRequesterGenerics_Expecter[TAny, TComparable, TSigned, TIn...
  method Run (line 1806) | func (_c *MockRequesterGenerics_GenericStructs_Call[TAny, TComparable, T...
  method Return (line 1819) | func (_c *MockRequesterGenerics_GenericStructs_Call[TAny, TComparable, T...
  method RunAndReturn (line 1824) | func (_c *MockRequesterGenerics_GenericStructs_Call[TAny, TComparable, T...
  function NewMockGetInt (line 1831) | func NewMockGetInt(t interface {
  type MockGetInt (line 1844) | type MockGetInt struct
    method EXPECT (line 1852) | func (_m *MockGetInt) EXPECT() *MockGetInt_Expecter {
    method Get (line 1857) | func (_mock *MockGetInt) Get() int {
  type MockGetInt_Expecter (line 1848) | type MockGetInt_Expecter struct
    method Get (line 1879) | func (_e *MockGetInt_Expecter) Get() *MockGetInt_Get_Call {
  type MockGetInt_Get_Call (line 1874) | type MockGetInt_Get_Call struct
    method Run (line 1883) | func (_c *MockGetInt_Get_Call) Run(run func()) *MockGetInt_Get_Call {
    method Return (line 1890) | func (_c *MockGetInt_Get_Call) Return(n int) *MockGetInt_Get_Call {
    method RunAndReturn (line 1895) | func (_c *MockGetInt_Get_Call) RunAndReturn(run func() int) *MockGetIn...
  function NewMockGetGeneric (line 1902) | func NewMockGetGeneric[T constraints.Integer](t interface {
  type MockGetGeneric (line 1915) | type MockGetGeneric struct
  type MockGetGeneric_Expecter (line 1919) | type MockGetGeneric_Expecter struct
  method EXPECT (line 1923) | func (_m *MockGetGeneric[T]) EXPECT() *MockGetGeneric_Expecter[T] {
  method Get (line 1928) | func (_mock *MockGetGeneric[T]) Get() T {
  type MockGetGeneric_Get_Call (line 1947) | type MockGetGeneric_Get_Call struct
  method Get (line 1952) | func (_e *MockGetGeneric_Expecter[T]) Get() *MockGetGeneric_Get_Call[T] {
  method Run (line 1956) | func (_c *MockGetGeneric_Get_Call[T]) Run(run func()) *MockGetGeneric_Ge...
  method Return (line 1963) | func (_c *MockGetGeneric_Get_Call[T]) Return(v T) *MockGetGeneric_Get_Ca...
  method RunAndReturn (line 1968) | func (_c *MockGetGeneric_Get_Call[T]) RunAndReturn(run func() T) *MockGe...
  function NewMockEmbeddedGet (line 1975) | func NewMockEmbeddedGet[T constraints.Signed](t interface {
  type MockEmbeddedGet (line 1988) | type MockEmbeddedGet struct
  type MockEmbeddedGet_Expecter (line 1992) | type MockEmbeddedGet_Expecter struct
  method EXPECT (line 1996) | func (_m *MockEmbeddedGet[T]) EXPECT() *MockEmbeddedGet_Expecter[T] {
  method Get (line 2001) | func (_mock *MockEmbeddedGet[T]) Get() T {
  type MockEmbeddedGet_Get_Call (line 2020) | type MockEmbeddedGet_Get_Call struct
  method Get (line 2025) | func (_e *MockEmbeddedGet_Expecter[T]) Get() *MockEmbeddedGet_Get_Call[T] {
  method Run (line 2029) | func (_c *MockEmbeddedGet_Get_Call[T]) Run(run func()) *MockEmbeddedGet_...
  method Return (line 2036) | func (_c *MockEmbeddedGet_Get_Call[T]) Return(v T) *MockEmbeddedGet_Get_...
  method RunAndReturn (line 2041) | func (_c *MockEmbeddedGet_Get_Call[T]) RunAndReturn(run func() T) *MockE...
  function NewMockReplaceGeneric (line 2048) | func NewMockReplaceGeneric[TImport any, TConstraint constraints.Signed, ...
  type MockReplaceGeneric (line 2061) | type MockReplaceGeneric struct
  type MockReplaceGeneric_Expecter (line 2065) | type MockReplaceGeneric_Expecter struct
  method EXPECT (line 2069) | func (_m *MockReplaceGeneric[TImport, TConstraint, TKeep]) EXPECT() *Moc...
  method A (line 2074) | func (_mock *MockReplaceGeneric[TImport, TConstraint, TKeep]) A(t1 TImpo...
  type MockReplaceGeneric_A_Call (line 2093) | type MockReplaceGeneric_A_Call struct
  method A (line 2099) | func (_e *MockReplaceGeneric_Expecter[TImport, TConstraint, TKeep]) A(t1...
  method Run (line 2103) | func (_c *MockReplaceGeneric_A_Call[TImport, TConstraint, TKeep]) Run(ru...
  method Return (line 2116) | func (_c *MockReplaceGeneric_A_Call[TImport, TConstraint, TKeep]) Return...
  method RunAndReturn (line 2121) | func (_c *MockReplaceGeneric_A_Call[TImport, TConstraint, TKeep]) RunAnd...
  method B (line 2127) | func (_mock *MockReplaceGeneric[TImport, TConstraint, TKeep]) B() TImport {
  type MockReplaceGeneric_B_Call (line 2146) | type MockReplaceGeneric_B_Call struct
  method B (line 2151) | func (_e *MockReplaceGeneric_Expecter[TImport, TConstraint, TKeep]) B() ...
  method Run (line 2155) | func (_c *MockReplaceGeneric_B_Call[TImport, TConstraint, TKeep]) Run(ru...
  method Return (line 2162) | func (_c *MockReplaceGeneric_B_Call[TImport, TConstraint, TKeep]) Return...
  method RunAndReturn (line 2167) | func (_c *MockReplaceGeneric_B_Call[TImport, TConstraint, TKeep]) RunAnd...
  method C (line 2173) | func (_mock *MockReplaceGeneric[TImport, TConstraint, TKeep]) C() TConst...
  type MockReplaceGeneric_C_Call (line 2192) | type MockReplaceGeneric_C_Call struct
  method C (line 2197) | func (_e *MockReplaceGeneric_Expecter[TImport, TConstraint, TKeep]) C() ...
  method Run (line 2201) | func (_c *MockReplaceGeneric_C_Call[TImport, TConstraint, TKeep]) Run(ru...
  method Return (line 2208) | func (_c *MockReplaceGeneric_C_Call[TImport, TConstraint, TKeep]) Return...
  method RunAndReturn (line 2213) | func (_c *MockReplaceGeneric_C_Call[TImport, TConstraint, TKeep]) RunAnd...
  function NewMockReplaceGenericSelf (line 2220) | func NewMockReplaceGenericSelf[T any](t interface {
  type MockReplaceGenericSelf (line 2233) | type MockReplaceGenericSelf struct
  type MockReplaceGenericSelf_Expecter (line 2237) | type MockReplaceGenericSelf_Expecter struct
  method EXPECT (line 2241) | func (_m *MockReplaceGenericSelf[T]) EXPECT() *MockReplaceGenericSelf_Ex...
  method A (line 2246) | func (_mock *MockReplaceGenericSelf[T]) A() T {
  type MockReplaceGenericSelf_A_Call (line 2265) | type MockReplaceGenericSelf_A_Call struct
  method A (line 2270) | func (_e *MockReplaceGenericSelf_Expecter[T]) A() *MockReplaceGenericSel...
  method Run (line 2274) | func (_c *MockReplaceGenericSelf_A_Call[T]) Run(run func()) *MockReplace...
  method Return (line 2281) | func (_c *MockReplaceGenericSelf_A_Call[T]) Return(v T) *MockReplaceGene...
  method RunAndReturn (line 2286) | func (_c *MockReplaceGenericSelf_A_Call[T]) RunAndReturn(run func() T) *...
  function NewMockHasConflictingNestedImports (line 2293) | func NewMockHasConflictingNestedImports(t interface {
  type MockHasConflictingNestedImports (line 2306) | type MockHasConflictingNestedImports struct
    method EXPECT (line 2314) | func (_m *MockHasConflictingNestedImports) EXPECT() *MockHasConflictin...
    method Get (line 2319) | func (_mock *MockHasConflictingNestedImports) Get(path string) (http.R...
    method Z (line 2379) | func (_mock *MockHasConflictingNestedImports) Z() http0.MyStruct {
  type MockHasConflictingNestedImports_Expecter (line 2310) | type MockHasConflictingNestedImports_Expecter struct
    method Get (line 2351) | func (_e *MockHasConflictingNestedImports_Expecter) Get(path interface...
    method Z (line 2401) | func (_e *MockHasConflictingNestedImports_Expecter) Z() *MockHasConfli...
  type MockHasConflictingNestedImports_Get_Call (line 2345) | type MockHasConflictingNestedImports_Get_Call struct
    method Run (line 2355) | func (_c *MockHasConflictingNestedImports_Get_Call) Run(run func(path ...
    method Return (line 2368) | func (_c *MockHasConflictingNestedImports_Get_Call) Return(response ht...
    method RunAndReturn (line 2373) | func (_c *MockHasConflictingNestedImports_Get_Call) RunAndReturn(run f...
  type MockHasConflictingNestedImports_Z_Call (line 2396) | type MockHasConflictingNestedImports_Z_Call struct
    method Run (line 2405) | func (_c *MockHasConflictingNestedImports_Z_Call) Run(run func()) *Moc...
    method Return (line 2412) | func (_c *MockHasConflictingNestedImports_Z_Call) Return(myStruct http...
    method RunAndReturn (line 2417) | func (_c *MockHasConflictingNestedImports_Z_Call) RunAndReturn(run fun...
  function NewMockImportsSameAsPackage (line 2424) | func NewMockImportsSameAsPackage(t interface {
  type MockImportsSameAsPackage (line 2437) | type MockImportsSameAsPackage struct
    method EXPECT (line 2445) | func (_m *MockImportsSameAsPackage) EXPECT() *MockImportsSameAsPackage...
    method A (line 2450) | func (_mock *MockImportsSameAsPackage) A() test.B {
    method B (line 2494) | func (_mock *MockImportsSameAsPackage) B() KeyManager {
    method C (line 2540) | func (_mock *MockImportsSameAsPackage) C(c C) {
  type MockImportsSameAsPackage_Expecter (line 2441) | type MockImportsSameAsPackage_Expecter struct
    method A (line 2472) | func (_e *MockImportsSameAsPackage_Expecter) A() *MockImportsSameAsPac...
    method B (line 2518) | func (_e *MockImportsSameAsPackage_Expecter) B() *MockImportsSameAsPac...
    method C (line 2552) | func (_e *MockImportsSameAsPackage_Expecter) C(c interface{}) *MockImp...
  type MockImportsSameAsPackage_A_Call (line 2467) | type MockImportsSameAsPackage_A_Call struct
    method Run (line 2476) | func (_c *MockImportsSameAsPackage_A_Call) Run(run func()) *MockImport...
    method Return (line 2483) | func (_c *MockImportsSameAsPackage_A_Call) Return(b test.B) *MockImpor...
    method RunAndReturn (line 2488) | func (_c *MockImportsSameAsPackage_A_Call) RunAndReturn(run func() tes...
  type MockImportsSameAsPackage_B_Call (line 2513) | type MockImportsSameAsPackage_B_Call struct
    method Run (line 2522) | func (_c *MockImportsSameAsPackage_B_Call) Run(run func()) *MockImport...
    method Return (line 2529) | func (_c *MockImportsSameAsPackage_B_Call) Return(keyManager KeyManage...
    method RunAndReturn (line 2534) | func (_c *MockImportsSameAsPackage_B_Call) RunAndReturn(run func() Key...
  type MockImportsSameAsPackage_C_Call (line 2546) | type MockImportsSameAsPackage_C_Call struct
    method Run (line 2556) | func (_c *MockImportsSameAsPackage_C_Call) Run(run func(c C)) *MockImp...
    method Return (line 2569) | func (_c *MockImportsSameAsPackage_C_Call) Return() *MockImportsSameAs...
    method RunAndReturn (line 2574) | func (_c *MockImportsSameAsPackage_C_Call) RunAndReturn(run func(c C))...
  function NewMockGenericInterface (line 2581) | func NewMockGenericInterface[M any](t interface {
  type MockGenericInterface (line 2594) | type MockGenericInterface struct
  type MockGenericInterface_Expecter (line 2598) | type MockGenericInterface_Expecter struct
  method EXPECT (line 2602) | func (_m *MockGenericInterface[M]) EXPECT() *MockGenericInterface_Expect...
  method Func (line 2607) | func (_mock *MockGenericInterface[M]) Func(arg *M) int {
  type MockGenericInterface_Func_Call (line 2624) | type MockGenericInterface_Func_Call struct
  method Func (line 2630) | func (_e *MockGenericInterface_Expecter[M]) Func(arg interface{}) *MockG...
  method Run (line 2634) | func (_c *MockGenericInterface_Func_Call[M]) Run(run func(arg *M)) *Mock...
  method Return (line 2647) | func (_c *MockGenericInterface_Func_Call[M]) Return(n int) *MockGenericI...
  method RunAndReturn (line 2652) | func (_c *MockGenericInterface_Func_Call[M]) RunAndReturn(run func(arg *...
  function NewMockInstantiatedGenericInterface (line 2659) | func NewMockInstantiatedGenericInterface(t interface {
  type MockInstantiatedGenericInterface (line 2672) | type MockInstantiatedGenericInterface struct
    method EXPECT (line 2680) | func (_m *MockInstantiatedGenericInterface) EXPECT() *MockInstantiated...
    method Func (line 2685) | func (_mock *MockInstantiatedGenericInterface) Func(arg *float32) int {
  type MockInstantiatedGenericInterface_Expecter (line 2676) | type MockInstantiatedGenericInterface_Expecter struct
    method Func (line 2708) | func (_e *MockInstantiatedGenericInterface_Expecter) Func(arg interfac...
  type MockInstantiatedGenericInterface_Func_Call (line 2702) | type MockInstantiatedGenericInterface_Func_Call struct
    method Run (line 2712) | func (_c *MockInstantiatedGenericInterface_Func_Call) Run(run func(arg...
    method Return (line 2725) | func (_c *MockInstantiatedGenericInterface_Func_Call) Return(n int) *M...
    method RunAndReturn (line 2730) | func (_c *MockInstantiatedGenericInterface_Func_Call) RunAndReturn(run...
  function NewMockMyReader (line 2737) | func NewMockMyReader(t interface {
  type MockMyReader (line 2750) | type MockMyReader struct
    method EXPECT (line 2758) | func (_m *MockMyReader) EXPECT() *MockMyReader_Expecter {
    method Read (line 2763) | func (_mock *MockMyReader) Read(p []byte) (int, error) {
  type MockMyReader_Expecter (line 2754) | type MockMyReader_Expecter struct
    method Read (line 2795) | func (_e *MockMyReader_Expecter) Read(p interface{}) *MockMyReader_Rea...
  type MockMyReader_Read_Call (line 2789) | type MockMyReader_Read_Call struct
    method Run (line 2799) | func (_c *MockMyReader_Read_Call) Run(run func(p []byte)) *MockMyReade...
    method Return (line 2812) | func (_c *MockMyReader_Read_Call) Return(n int, err error) *MockMyRead...
    method RunAndReturn (line 2817) | func (_c *MockMyReader_Read_Call) RunAndReturn(run func(p []byte) (int...
  function NewMockIssue766 (line 2824) | func NewMockIssue766(t interface {
  type MockIssue766 (line 2837) | type MockIssue766 struct
    method EXPECT (line 2845) | func (_m *MockIssue766) EXPECT() *MockIssue766_Expecter {
    method FetchData (line 2850) | func (_mock *MockIssue766) FetchData(fetchFunc func(x ...int) ([]int, ...
  type MockIssue766_Expecter (line 2841) | type MockIssue766_Expecter struct
    method FetchData (line 2884) | func (_e *MockIssue766_Expecter) FetchData(fetchFunc interface{}) *Moc...
  type MockIssue766_FetchData_Call (line 2878) | type MockIssue766_FetchData_Call struct
    method Run (line 2888) | func (_c *MockIssue766_FetchData_Call) Run(run func(fetchFunc func(x ....
    method Return (line 2901) | func (_c *MockIssue766_FetchData_Call) Return(ints []int, err error) *...
    method RunAndReturn (line 2906) | func (_c *MockIssue766_FetchData_Call) RunAndReturn(run func(fetchFunc...
  function NewMockMapToInterface (line 2913) | func NewMockMapToInterface(t interface {
  type MockMapToInterface (line 2926) | type MockMapToInterface struct
    method EXPECT (line 2934) | func (_m *MockMapToInterface) EXPECT() *MockMapToInterface_Expecter {
    method Foo (line 2939) | func (_mock *MockMapToInterface) Foo(arg1 ...map[string]interface{}) {
  type MockMapToInterface_Expecter (line 2930) | type MockMapToInterface_Expecter struct
    method Foo (line 2956) | func (_e *MockMapToInterface_Expecter) Foo(arg1 ...interface{}) *MockM...
  type MockMapToInterface_Foo_Call (line 2950) | type MockMapToInterface_Foo_Call struct
    method Run (line 2961) | func (_c *MockMapToInterface_Foo_Call) Run(run func(arg1 ...map[string...
    method Return (line 2976) | func (_c *MockMapToInterface_Foo_Call) Return() *MockMapToInterface_Fo...
    method RunAndReturn (line 2981) | func (_c *MockMapToInterface_Foo_Call) RunAndReturn(run func(arg1 ...m...
  function NewMockSibling (line 2988) | func NewMockSibling(t interface {
  type MockSibling (line 3001) | type MockSibling struct
    method EXPECT (line 3009) | func (_m *MockSibling) EXPECT() *MockSibling_Expecter {
    method DoSomething (line 3014) | func (_mock *MockSibling) DoSomething() {
  type MockSibling_Expecter (line 3005) | type MockSibling_Expecter struct
    method DoSomething (line 3025) | func (_e *MockSibling_Expecter) DoSomething() *MockSibling_DoSomething...
  type MockSibling_DoSomething_Call (line 3020) | type MockSibling_DoSomething_Call struct
    method Run (line 3029) | func (_c *MockSibling_DoSomething_Call) Run(run func()) *MockSibling_D...
    method Return (line 3036) | func (_c *MockSibling_DoSomething_Call) Return() *MockSibling_DoSometh...
    method RunAndReturn (line 3041) | func (_c *MockSibling_DoSomething_Call) RunAndReturn(run func()) *Mock...
  function NewMockUsesOtherPkgIface (line 3048) | func NewMockUsesOtherPkgIface(t interface {
  type MockUsesOtherPkgIface (line 3061) | type MockUsesOtherPkgIface struct
    method EXPECT (line 3069) | func (_m *MockUsesOtherPkgIface) EXPECT() *MockUsesOtherPkgIface_Expec...
    method DoSomethingElse (line 3074) | func (_mock *MockUsesOtherPkgIface) DoSomethingElse(obj Sibling) {
  type MockUsesOtherPkgIface_Expecter (line 3065) | type MockUsesOtherPkgIface_Expecter struct
    method DoSomethingElse (line 3086) | func (_e *MockUsesOtherPkgIface_Expecter) DoSomethingElse(obj interfac...
  type MockUsesOtherPkgIface_DoSomethingElse_Call (line 3080) | type MockUsesOtherPkgIface_DoSomethingElse_Call struct
    method Run (line 3090) | func (_c *MockUsesOtherPkgIface_DoSomethingElse_Call) Run(run func(obj...
    method Return (line 3103) | func (_c *MockUsesOtherPkgIface_DoSomethingElse_Call) Return() *MockUs...
    method RunAndReturn (line 3108) | func (_c *MockUsesOtherPkgIface_DoSomethingElse_Call) RunAndReturn(run...
  function NewMockNilRun (line 3115) | func NewMockNilRun(t interface {
  type MockNilRun (line 3128) | type MockNilRun struct
    method EXPECT (line 3136) | func (_m *MockNilRun) EXPECT() *MockNilRun_Expecter {
    method Foo (line 3141) | func (_mock *MockNilRun) Foo(nilRun NilRun) {
  type MockNilRun_Expecter (line 3132) | type MockNilRun_Expecter struct
    method Foo (line 3153) | func (_e *MockNilRun_Expecter) Foo(nilRun interface{}) *MockNilRun_Foo...
  type MockNilRun_Foo_Call (line 3147) | type MockNilRun_Foo_Call struct
    method Run (line 3157) | func (_c *MockNilRun_Foo_Call) Run(run func(nilRun NilRun)) *MockNilRu...
    method Return (line 3170) | func (_c *MockNilRun_Foo_Call) Return() *MockNilRun_Foo_Call {
    method RunAndReturn (line 3175) | func (_c *MockNilRun_Foo_Call) RunAndReturn(run func(nilRun NilRun)) *...
  function NewMockPanicOnNoReturnValue (line 3182) | func NewMockPanicOnNoReturnValue(t interface {
  type MockPanicOnNoReturnValue (line 3195) | type MockPanicOnNoReturnValue struct
    method EXPECT (line 3203) | func (_m *MockPanicOnNoReturnValue) EXPECT() *MockPanicOnNoReturnValue...
    method DoSomething (line 3208) | func (_mock *MockPanicOnNoReturnValue) DoSomething() string {
  type MockPanicOnNoReturnValue_Expecter (line 3199) | type MockPanicOnNoReturnValue_Expecter struct
    method DoSomething (line 3230) | func (_e *MockPanicOnNoReturnValue_Expecter) DoSomething() *MockPanicO...
  type MockPanicOnNoReturnValue_DoSomething_Call (line 3225) | type MockPanicOnNoReturnValue_DoSomething_Call struct
    method Run (line 3234) | func (_c *MockPanicOnNoReturnValue_DoSomething_Call) Run(run func()) *...
    method Return (line 3241) | func (_c *MockPanicOnNoReturnValue_DoSomething_Call) Return(s string) ...
    method RunAndReturn (line 3246) | func (_c *MockPanicOnNoReturnValue_DoSomething_Call) RunAndReturn(run ...
  function NewMockRequester (line 3253) | func NewMockRequester(t interface {
  type MockRequester (line 3266) | type MockRequester struct
    method EXPECT (line 3274) | func (_m *MockRequester) EXPECT() *MockRequester_Expecter {
    method Get (line 3279) | func (_mock *MockRequester) Get(path string) (string, error) {
  type MockRequester_Expecter (line 3270) | type MockRequester_Expecter struct
    method Get (line 3311) | func (_e *MockRequester_Expecter) Get(path interface{}) *MockRequester...
  type MockRequester_Get_Call (line 3305) | type MockRequester_Get_Call struct
    method Run (line 3315) | func (_c *MockRequester_Get_Call) Run(run func(path string)) *MockRequ...
    method Return (line 3328) | func (_c *MockRequester_Get_Call) Return(s string, err error) *MockReq...
    method RunAndReturn (line 3333) | func (_c *MockRequester_Get_Call) RunAndReturn(run func(path string) (...
  function NewMockRequester2 (line 3340) | func NewMockRequester2(t interface {
  type MockRequester2 (line 3353) | type MockRequester2 struct
    method EXPECT (line 3361) | func (_m *MockRequester2) EXPECT() *MockRequester2_Expecter {
    method Get (line 3366) | func (_mock *MockRequester2) Get(path string) error {
  type MockRequester2_Expecter (line 3357) | type MockRequester2_Expecter struct
    method Get (line 3389) | func (_e *MockRequester2_Expecter) Get(path interface{}) *MockRequeste...
  type MockRequester2_Get_Call (line 3383) | type MockRequester2_Get_Call struct
    method Run (line 3393) | func (_c *MockRequester2_Get_Call) Run(run func(path string)) *MockReq...
    method Return (line 3406) | func (_c *MockRequester2_Get_Call) Return(err error) *MockRequester2_G...
    method RunAndReturn (line 3411) | func (_c *MockRequester2_Get_Call) RunAndReturn(run func(path string) ...
  function NewMockRequester3 (line 3418) | func NewMockRequester3(t interface {
  type MockRequester3 (line 3431) | type MockRequester3 struct
    method EXPECT (line 3439) | func (_m *MockRequester3) EXPECT() *MockRequester3_Expecter {
    method Get (line 3444) | func (_mock *MockRequester3) Get() error {
  type MockRequester3_Expecter (line 3435) | type MockRequester3_Expecter struct
    method Get (line 3466) | func (_e *MockRequester3_Expecter) Get() *MockRequester3_Get_Call {
  type MockRequester3_Get_Call (line 3461) | type MockRequester3_Get_Call struct
    method Run (line 3470) | func (_c *MockRequester3_Get_Call) Run(run func()) *MockRequester3_Get...
    method Return (line 3477) | func (_c *MockRequester3_Get_Call) Return(err error) *MockRequester3_G...
    method RunAndReturn (line 3482) | func (_c *MockRequester3_Get_Call) RunAndReturn(run func() error) *Moc...
  function NewMockRequester4 (line 3489) | func NewMockRequester4(t interface {
  type MockRequester4 (line 3502) | type MockRequester4 struct
    method EXPECT (line 3510) | func (_m *MockRequester4) EXPECT() *MockRequester4_Expecter {
    method Get (line 3515) | func (_mock *MockRequester4) Get() {
  type MockRequester4_Expecter (line 3506) | type MockRequester4_Expecter struct
    method Get (line 3526) | func (_e *MockRequester4_Expecter) Get() *MockRequester4_Get_Call {
  type MockRequester4_Get_Call (line 3521) | type MockRequester4_Get_Call struct
    method Run (line 3530) | func (_c *MockRequester4_Get_Call) Run(run func()) *MockRequester4_Get...
    method Return (line 3537) | func (_c *MockRequester4_Get_Call) Return() *MockRequester4_Get_Call {
    method RunAndReturn (line 3542) | func (_c *MockRequester4_Get_Call) RunAndReturn(run func()) *MockReque...
  function NewMockRequesterArgSameAsImport (line 3549) | func NewMockRequesterArgSameAsImport(t interface {
  type MockRequesterArgSameAsImport (line 3562) | type MockRequesterArgSameAsImport struct
    method EXPECT (line 3570) | func (_m *MockRequesterArgSameAsImport) EXPECT() *MockRequesterArgSame...
    method Get (line 3575) | func (_mock *MockRequesterArgSameAsImport) Get(json1 string) *json.Raw...
  type MockRequesterArgSameAsImport_Expecter (line 3566) | type MockRequesterArgSameAsImport_Expecter struct
    method Get (line 3600) | func (_e *MockRequesterArgSameAsImport_Expecter) Get(json1 interface{}...
  type MockRequesterArgSameAsImport_Get_Call (line 3594) | type MockRequesterArgSameAsImport_Get_Call struct
    method Run (line 3604) | func (_c *MockRequesterArgSameAsImport_Get_Call) Run(run func(json1 st...
    method Return (line 3617) | func (_c *MockRequesterArgSameAsImport_Get_Call) Return(rawMessage *js...
    method RunAndReturn (line 3622) | func (_c *MockRequesterArgSameAsImport_Get_Call) RunAndReturn(run func...
  function NewMockRequesterArgSameAsNamedImport (line 3629) | func NewMockRequesterArgSameAsNamedImport(t interface {
  type MockRequesterArgSameAsNamedImport (line 3642) | type MockRequesterArgSameAsNamedImport struct
    method EXPECT (line 3650) | func (_m *MockRequesterArgSameAsNamedImport) EXPECT() *MockRequesterAr...
    method Get (line 3655) | func (_mock *MockRequesterArgSameAsNamedImport) Get(json1 string) *jso...
  type MockRequesterArgSameAsNamedImport_Expecter (line 3646) | type MockRequesterArgSameAsNamedImport_Expecter struct
    method Get (line 3680) | func (_e *MockRequesterArgSameAsNamedImport_Expecter) Get(json1 interf...
  type MockRequesterArgSameAsNamedImport_Get_Call (line 3674) | type MockRequesterArgSameAsNamedImport_Get_Call struct
    method Run (line 3684) | func (_c *MockRequesterArgSameAsNamedImport_Get_Call) Run(run func(jso...
    method Return (line 3697) | func (_c *MockRequesterArgSameAsNamedImport_Get_Call) Return(rawMessag...
    method RunAndReturn (line 3702) | func (_c *MockRequesterArgSameAsNamedImport_Get_Call) RunAndReturn(run...
  function NewMockRequesterArgSameAsPkg (line 3709) | func NewMockRequesterArgSameAsPkg(t interface {
  type MockRequesterArgSameAsPkg (line 3722) | type MockRequesterArgSameAsPkg struct
    method EXPECT (line 3730) | func (_m *MockRequesterArgSameAsPkg) EXPECT() *MockRequesterArgSameAsP...
    method Get (line 3735) | func (_mock *MockRequesterArgSameAsPkg) Get(test1 string) {
  type MockRequesterArgSameAsPkg_Expecter (line 3726) | type MockRequesterArgSameAsPkg_Expecter struct
    method Get (line 3747) | func (_e *MockRequesterArgSameAsPkg_Expecter) Get(test1 interface{}) *...
  type MockRequesterArgSameAsPkg_Get_Call (line 3741) | type MockRequesterArgSameAsPkg_Get_Call struct
    method Run (line 3751) | func (_c *MockRequesterArgSameAsPkg_Get_Call) Run(run func(test1 strin...
    method Return (line 3764) | func (_c *MockRequesterArgSameAsPkg_Get_Call) Return() *MockRequesterA...
    method RunAndReturn (line 3769) | func (_c *MockRequesterArgSameAsPkg_Get_Call) RunAndReturn(run func(te...
  function NewMockRequesterArray (line 3776) | func NewMockRequesterArray(t interface {
  type MockRequesterArray (line 3789) | type MockRequesterArray struct
    method EXPECT (line 3797) | func (_m *MockRequesterArray) EXPECT() *MockRequesterArray_Expecter {
    method Get (line 3802) | func (_mock *MockRequesterArray) Get(path string) ([2]string, error) {
  type MockRequesterArray_Expecter (line 3793) | type MockRequesterArray_Expecter struct
    method Get (line 3836) | func (_e *MockRequesterArray_Expecter) Get(path interface{}) *MockRequ...
  type MockRequesterArray_Get_Call (line 3830) | type MockRequesterArray_Get_Call struct
    method Run (line 3840) | func (_c *MockRequesterArray_Get_Call) Run(run func(path string)) *Moc...
    method Return (line 3853) | func (_c *MockRequesterArray_Get_Call) Return(strings [2]string, err e...
    method RunAndReturn (line 3858) | func (_c *MockRequesterArray_Get_Call) RunAndReturn(run func(path stri...
  function NewMockRequesterElided (line 3865) | func NewMockRequesterElided(t interface {
  type MockRequesterElided (line 3878) | type MockRequesterElided struct
    method EXPECT (line 3886) | func (_m *MockRequesterElided) EXPECT() *MockRequesterElided_Expecter {
    method Get (line 3891) | func (_mock *MockRequesterElided) Get(path string, url string) error {
  type MockRequesterElided_Expecter (line 3882) | type MockRequesterElided_Expecter struct
    method Get (line 3915) | func (_e *MockRequesterElided_Expecter) Get(path interface{}, url inte...
  type MockRequesterElided_Get_Call (line 3908) | type MockRequesterElided_Get_Call struct
    method Run (line 3919) | func (_c *MockRequesterElided_Get_Call) Run(run func(path string, url ...
    method Return (line 3937) | func (_c *MockRequesterElided_Get_Call) Return(err error) *MockRequest...
    method RunAndReturn (line 3942) | func (_c *MockRequesterElided_Get_Call) RunAndReturn(run func(path str...
  function NewMockRequesterIface (line 3949) | func NewMockRequesterIface(t interface {
  type MockRequesterIface (line 3962) | type MockRequesterIface struct
    method EXPECT (line 3970) | func (_m *MockRequesterIface) EXPECT() *MockRequesterIface_Expecter {
    method Get (line 3975) | func (_mock *MockRequesterIface) Get() io.Reader {
  type MockRequesterIface_Expecter (line 3966) | type MockRequesterIface_Expecter struct
    method Get (line 3999) | func (_e *MockRequesterIface_Expecter) Get() *MockRequesterIface_Get_C...
  type MockRequesterIface_Get_Call (line 3994) | type MockRequesterIface_Get_Call struct
    method Run (line 4003) | func (_c *MockRequesterIface_Get_Call) Run(run func()) *MockRequesterI...
    method Return (line 4010) | func (_c *MockRequesterIface_Get_Call) Return(reader io.Reader) *MockR...
    method RunAndReturn (line 4015) | func (_c *MockRequesterIface_Get_Call) RunAndReturn(run func() io.Read...
  function NewMockRequesterNS (line 4022) | func NewMockRequesterNS(t interface {
  type MockRequesterNS (line 4035) | type MockRequesterNS struct
    method EXPECT (line 4043) | func (_m *MockRequesterNS) EXPECT() *MockRequesterNS_Expecter {
    method Get (line 4048) | func (_mock *MockRequesterNS) Get(path string) (http.Response, error) {
  type MockRequesterNS_Expecter (line 4039) | type MockRequesterNS_Expecter struct
    method Get (line 4080) | func (_e *MockRequesterNS_Expecter) Get(path interface{}) *MockRequest...
  type MockRequesterNS_Get_Call (line 4074) | type MockRequesterNS_Get_Call struct
    method Run (line 4084) | func (_c *MockRequesterNS_Get_Call) Run(run func(path string)) *MockRe...
    method Return (line 4097) | func (_c *MockRequesterNS_Get_Call) Return(response http.Response, err...
    method RunAndReturn (line 4102) | func (_c *MockRequesterNS_Get_Call) RunAndReturn(run func(path string)...
  function NewMockRequesterPtr (line 4109) | func NewMockRequesterPtr(t interface {
  type MockRequesterPtr (line 4122) | type MockRequesterPtr struct
    method EXPECT (line 4130) | func (_m *MockRequesterPtr) EXPECT() *MockRequesterPtr_Expecter {
    method Get (line 4135) | func (_mock *MockRequesterPtr) Get(path string) (*string, error) {
  type MockRequesterPtr_Expecter (line 4126) | type MockRequesterPtr_Expecter struct
    method Get (line 4169) | func (_e *MockRequesterPtr_Expecter) Get(path interface{}) *MockReques...
  type MockRequesterPtr_Get_Call (line 4163) | type MockRequesterPtr_Get_Call struct
    method Run (line 4173) | func (_c *MockRequesterPtr_Get_Call) Run(run func(path string)) *MockR...
    method Return (line 4186) | func (_c *MockRequesterPtr_Get_Call) Return(s *string, err error) *Moc...
    method RunAndReturn (line 4191) | func (_c *MockRequesterPtr_Get_Call) RunAndReturn(run func(path string...
  function NewMockRequesterReturnElided (line 4198) | func NewMockRequesterReturnElided(t interface {
  type MockRequesterReturnElided (line 4211) | type MockRequesterReturnElided struct
    method EXPECT (line 4219) | func (_m *MockRequesterReturnElided) EXPECT() *MockRequesterReturnElid...
    method Get (line 4224) | func (_mock *MockRequesterReturnElided) Get(path string) (int, int, in...
    method Put (line 4296) | func (_mock *MockRequesterReturnElided) Put(path string) (int, error) {
  type MockRequesterReturnElided_Expecter (line 4215) | type MockRequesterReturnElided_Expecter struct
    method Get (line 4268) | func (_e *MockRequesterReturnElided_Expecter) Get(path interface{}) *M...
    method Put (line 4328) | func (_e *MockRequesterReturnElided_Expecter) Put(path interface{}) *M...
  type MockRequesterReturnElided_Get_Call (line 4262) | type MockRequesterReturnElided_Get_Call struct
    method Run (line 4272) | func (_c *MockRequesterReturnElided_Get_Call) Run(run func(path string...
    method Return (line 4285) | func (_c *MockRequesterReturnElided_Get_Call) Return(a int, b int, c i...
    method RunAndReturn (line 4290) | func (_c *MockRequesterReturnElided_Get_Call) RunAndReturn(run func(pa...
  type MockRequesterReturnElided_Put_Call (line 4322) | type MockRequesterReturnElided_Put_Call struct
    method Run (line 4332) | func (_c *MockRequesterReturnElided_Put_Call) Run(run func(path string...
    method Return (line 4345) | func (_c *MockRequesterReturnElided_Put_Call) Return(n int, err error)...
    method RunAndReturn (line 4350) | func (_c *MockRequesterReturnElided_Put_Call) RunAndReturn(run func(pa...
  function NewMockRequesterSlice (line 4357) | func NewMockRequesterSlice(t interface {
  type MockRequesterSlice (line 4370) | type MockRequesterSlice struct
    method EXPECT (line 4378) | func (_m *MockRequesterSlice) EXPECT() *MockRequesterSlice_Expecter {
    method Get (line 4383) | func (_mock *MockRequesterSlice) Get(path string) ([]string, error) {
  type MockRequesterSlice_Expecter (line 4374) | type MockRequesterSlice_Expecter struct
    method Get (line 4417) | func (_e *MockRequesterSlice_Expecter) Get(path interface{}) *MockRequ...
  type MockRequesterSlice_Get_Call (line 4411) | type MockRequesterSlice_Get_Call struct
    method Run (line 4421) | func (_c *MockRequesterSlice_Get_Call) Run(run func(path string)) *Moc...
    method Return (line 4434) | func (_c *MockRequesterSlice_Get_Call) Return(strings []string, err er...
    method RunAndReturn (line 4439) | func (_c *MockRequesterSlice_Get_Call) RunAndReturn(run func(path stri...
  function newMockrequesterUnexported (line 4446) | func newMockrequesterUnexported(t interface {
  type mockrequesterUnexported (line 4459) | type mockrequesterUnexported struct
    method EXPECT (line 4467) | func (_m *mockrequesterUnexported) EXPECT() *mockrequesterUnexported_E...
    method Get (line 4472) | func (_mock *mockrequesterUnexported) Get() {
  type mockrequesterUnexported_Expecter (line 4463) | type mockrequesterUnexported_Expecter struct
    method Get (line 4483) | func (_e *mockrequesterUnexported_Expecter) Get() *mockrequesterUnexpo...
  type mockrequesterUnexported_Get_Call (line 4478) | type mockrequesterUnexported_Get_Call struct
    method Run (line 4487) | func (_c *mockrequesterUnexported_Get_Call) Run(run func()) *mockreque...
    method Return (line 4494) | func (_c *mockrequesterUnexported_Get_Call) Return() *mockrequesterUne...
    method RunAndReturn (line 4499) | func (_c *mockrequesterUnexported_Get_Call) RunAndReturn(run func()) *...
  function NewMockRequesterVariadicOneArgument (line 4506) | func NewMockRequesterVariadicOneArgument(t interface {
  type MockRequesterVariadicOneArgument (line 4519) | type MockRequesterVariadicOneArgument struct
    method EXPECT (line 4527) | func (_m *MockRequesterVariadicOneArgument) EXPECT() *MockRequesterVar...
    method Get (line 4532) | func (_mock *MockRequesterVariadicOneArgument) Get(values ...string) b...
    method MultiWriteToFile (line 4592) | func (_mock *MockRequesterVariadicOneArgument) MultiWriteToFile(filena...
    method OneInterface (line 4658) | func (_mock *MockRequesterVariadicOneArgument) OneInterface(a ...inter...
    method Sprintf (line 4718) | func (_mock *MockRequesterVariadicOneArgument) Sprintf(format string, ...
  type MockRequesterVariadicOneArgument_Expecter (line 4523) | type MockRequesterVariadicOneArgument_Expecter struct
    method Get (line 4561) | func (_e *MockRequesterVariadicOneArgument_Expecter) Get(values ...int...
    method MultiWriteToFile (line 4622) | func (_e *MockRequesterVariadicOneArgument_Expecter) MultiWriteToFile(...
    method OneInterface (line 4687) | func (_e *MockRequesterVariadicOneArgument_Expecter) OneInterface(a .....
    method Sprintf (line 4748) | func (_e *MockRequesterVariadicOneArgument_Expecter) Sprintf(format in...
  type MockRequesterVariadicOneArgument_Get_Call (line 4555) | type MockRequesterVariadicOneArgument_Get_Call struct
    method Run (line 4566) | func (_c *MockRequesterVariadicOneArgument_Get_Call) Run(run func(valu...
    method Return (line 4581) | func (_c *MockRequesterVariadicOneArgument_Get_Call) Return(b bool) *M...
    method RunAndReturn (line 4586) | func (_c *MockRequesterVariadicOneArgument_Get_Call) RunAndReturn(run ...
  type MockRequesterVariadicOneArgument_MultiWriteToFile_Call (line 4615) | type MockRequesterVariadicOneArgument_MultiWriteToFile_Call struct
    method Run (line 4627) | func (_c *MockRequesterVariadicOneArgument_MultiWriteToFile_Call) Run(...
    method Return (line 4647) | func (_c *MockRequesterVariadicOneArgument_MultiWriteToFile_Call) Retu...
    method RunAndReturn (line 4652) | func (_c *MockRequesterVariadicOneArgument_MultiWriteToFile_Call) RunA...
  type MockRequesterVariadicOneArgument_OneInterface_Call (line 4681) | type MockRequesterVariadicOneArgument_OneInterface_Call struct
    method Run (line 4692) | func (_c *MockRequesterVariadicOneArgument_OneInterface_Call) Run(run ...
    method Return (line 4707) | func (_c *MockRequesterVariadicOneArgument_OneInterface_Call) Return(b...
    method RunAndReturn (line 4712) | func (_c *MockRequesterVariadicOneArgument_OneInterface_Call) RunAndRe...
  type MockRequesterVariadicOneArgument_Sprintf_Call (line 4741) | type MockRequesterVariadicOneArgument_Sprintf_Call struct
    method Run (line 4753) | func (_c *MockRequesterVariadicOneArgument_Sprintf_Call) Run(run func(...
    method Return (line 4773) | func (_c *MockRequesterVariadicOneArgument_Sprintf_Call) Return(s stri...
    method RunAndReturn (line 4778) | func (_c *MockRequesterVariadicOneArgument_Sprintf_Call) RunAndReturn(...
  function NewMockRequesterVariadic (line 4785) | func NewMockRequesterVariadic(t interface {
  type MockRequesterVariadic (line 4798) | type MockRequesterVariadic struct
    method EXPECT (line 4806) | func (_m *MockRequesterVariadic) EXPECT() *MockRequesterVariadic_Expec...
    method Get (line 4811) | func (_mock *MockRequesterVariadic) Get(values ...string) bool {
    method MultiWriteToFile (line 4874) | func (_mock *MockRequesterVariadic) MultiWriteToFile(filename string, ...
    method OneInterface (line 4944) | func (_mock *MockRequesterVariadic) OneInterface(a ...interface{}) bool {
    method Sprintf (line 5002) | func (_mock *MockRequesterVariadic) Sprintf(format string, a ...interf...
  type MockRequesterVariadic_Expecter (line 4802) | type MockRequesterVariadic_Expecter struct
    method Get (line 4841) | func (_e *MockRequesterVariadic_Expecter) Get(values ...interface{}) *...
    method MultiWriteToFile (line 4906) | func (_e *MockRequesterVariadic_Expecter) MultiWriteToFile(filename in...
    method OneInterface (line 4969) | func (_e *MockRequesterVariadic_Expecter) OneInterface(a ...interface{...
    method Sprintf (line 5029) | func (_e *MockRequesterVariadic_Expecter) Sprintf(format interface{}, ...
  type MockRequesterVariadic_Get_Call (line 4835) | type MockRequesterVariadic_Get_Call struct
    method Run (line 4846) | func (_c *MockRequesterVariadic_Get_Call) Run(run func(values ...strin...
    method Return (line 4863) | func (_c *MockRequesterVariadic_Get_Call) Return(b bool) *MockRequeste...
    method RunAndReturn (line 4868) | func (_c *MockRequesterVariadic_Get_Call) RunAndReturn(run func(values...
  type MockRequesterVariadic_MultiWriteToFile_Call (line 4899) | type MockRequesterVariadic_MultiWriteToFile_Call struct
    method Run (line 4911) | func (_c *MockRequesterVariadic_MultiWriteToFile_Call) Run(run func(fi...
    method Return (line 4933) | func (_c *MockRequesterVariadic_MultiWriteToFile_Call) Return(s string...
    method RunAndReturn (line 4938) | func (_c *MockRequesterVariadic_MultiWriteToFile_Call) RunAndReturn(ru...
  type MockRequesterVariadic_OneInterface_Call (line 4963) | type MockRequesterVariadic_OneInterface_Call struct
    method Run (line 4974) | func (_c *MockRequesterVariadic_OneInterface_Call) Run(run func(a ...i...
    method Return (line 4991) | func (_c *MockRequesterVariadic_OneInterface_Call) Return(b bool) *Moc...
    method RunAndReturn (line 4996) | func (_c *MockRequesterVariadic_OneInterface_Call) RunAndReturn(run fu...
  type MockRequesterVariadic_Sprintf_Call (line 5022) | type MockRequesterVariadic_Sprintf_Call struct
    method Run (line 5034) | func (_c *MockRequesterVariadic_Sprintf_Call) Run(run func(format stri...
    method Return (line 5056) | func (_c *MockRequesterVariadic_Sprintf_Call) Return(s string) *MockRe...
    method RunAndReturn (line 5061) | func (_c *MockRequesterVariadic_Sprintf_Call) RunAndReturn(run func(fo...
  function NewMockExample (line 5068) | func NewMockExample(t interface {
  type MockExample (line 5081) | type MockExample struct
    method EXPECT (line 5089) | func (_m *MockExample) EXPECT() *MockExample_Expecter {
    method A (line 5094) | func (_mock *MockExample) A() http.Flusher {
    method B (line 5140) | func (_mock *MockExample) B(fixtureshttp string) http0.MyStruct {
    method C (line 5191) | func (_mock *MockExample) C(fixtureshttp string) http1.MyStruct {
  type MockExample_Expecter (line 5085) | type MockExample_Expecter struct
    method A (line 5118) | func (_e *MockExample_Expecter) A() *MockExample_A_Call {
    method B (line 5163) | func (_e *MockExample_Expecter) B(fixtureshttp interface{}) *MockExamp...
    method C (line 5214) | func (_e *MockExample_Expecter) C(fixtureshttp interface{}) *MockExamp...
  type MockExample_A_Call (line 5113) | type MockExample_A_Call struct
    method Run (line 5122) | func (_c *MockExample_A_Call) Run(run func()) *MockExample_A_Call {
    method Return (line 5129) | func (_c *MockExample_A_Call) Return(flusher http.Flusher) *MockExampl...
    method RunAndReturn (line 5134) | func (_c *MockExample_A_Call) RunAndReturn(run func() http.Flusher) *M...
  type MockExample_B_Call (line 5157) | type MockExample_B_Call struct
    method Run (line 5167) | func (_c *MockExample_B_Call) Run(run func(fixtureshttp string)) *Mock...
    method Return (line 5180) | func (_c *MockExample_B_Call) Return(myStruct http0.MyStruct) *MockExa...
    method RunAndReturn (line 5185) | func (_c *MockExample_B_Call) RunAndReturn(run func(fixtureshttp strin...
  type MockExample_C_Call (line 5208) | type MockExample_C_Call struct
    method Run (line 5218) | func (_c *MockExample_C_Call) Run(run func(fixtureshttp string)) *Mock...
    method Return (line 5231) | func (_c *MockExample_C_Call) Return(myStruct http1.MyStruct) *MockExa...
    method RunAndReturn (line 5236) | func (_c *MockExample_C_Call) RunAndReturn(run func(fixtureshttp strin...
  function NewMockA (line 5243) | func NewMockA(t interface {
  type MockA (line 5256) | type MockA struct
    method EXPECT (line 5264) | func (_m *MockA) EXPECT() *MockA_Expecter {
    method Call (line 5269) | func (_mock *MockA) Call() (B, error) {
  type MockA_Expecter (line 5260) | type MockA_Expecter struct
    method Call (line 5300) | func (_e *MockA_Expecter) Call() *MockA_Call_Call {
  type MockA_Call_Call (line 5295) | type MockA_Call_Call struct
    method Run (line 5304) | func (_c *MockA_Call_Call) Run(run func()) *MockA_Call_Call {
    method Return (line 5311) | func (_c *MockA_Call_Call) Return(b B, err error) *MockA_Call_Call {
    method RunAndReturn (line 5316) | func (_c *MockA_Call_Call) RunAndReturn(run func() (B, error)) *MockA_...
  function NewMockStructWithTag (line 5323) | func NewMockStructWithTag(t interface {
  type MockStructWithTag (line 5336) | type MockStructWithTag struct
    method EXPECT (line 5344) | func (_m *MockStructWithTag) EXPECT() *MockStructWithTag_Expecter {
    method MethodA (line 5349) | func (_mock *MockStructWithTag) MethodA(v *struct {
  type MockStructWithTag_Expecter (line 5340) | type MockStructWithTag_Expecter struct
    method MethodA (line 5392) | func (_e *MockStructWithTag_Expecter) MethodA(v interface{}) *MockStru...
  type MockStructWithTag_MethodA_Call (line 5386) | type MockStructWithTag_MethodA_Call struct
    method Run (line 5396) | func (_c *MockStructWithTag_MethodA_Call) Run(run func(v *struct {
    method Return (line 5418) | func (_c *MockStructWithTag_MethodA_Call) Return(val *struct {
    method RunAndReturn (line 5426) | func (_c *MockStructWithTag_MethodA_Call) RunAndReturn(run func(v *str...
  function NewMockUnsafeInterface (line 5439) | func NewMockUnsafeInterface(t interface {
  type MockUnsafeInterface (line 5452) | type MockUnsafeInterface struct
    method EXPECT (line 5460) | func (_m *MockUnsafeInterface) EXPECT() *MockUnsafeInterface_Expecter {
    method Do (line 5465) | func (_mock *MockUnsafeInterface) Do(ptr *unsafe.Pointer) {
  type MockUnsafeInterface_Expecter (line 5456) | type MockUnsafeInterface_Expecter struct
    method Do (line 5477) | func (_e *MockUnsafeInterface_Expecter) Do(ptr interface{}) *MockUnsaf...
  type MockUnsafeInterface_Do_Call (line 5471) | type MockUnsafeInterface_Do_Call struct
    method Run (line 5481) | func (_c *MockUnsafeInterface_Do_Call) Run(run func(ptr *unsafe.Pointe...
    method Return (line 5494) | func (_c *MockUnsafeInterface_Do_Call) Return() *MockUnsafeInterface_D...
    method RunAndReturn (line 5499) | func (_c *MockUnsafeInterface_Do_Call) RunAndReturn(run func(ptr *unsa...
  function NewMockVariadic (line 5506) | func NewMockVariadic(t interface {
  type MockVariadic (line 5519) | type MockVariadic struct
    method EXPECT (line 5527) | func (_m *MockVariadic) EXPECT() *MockVariadic_Expecter {
    method VariadicFunction (line 5532) | func (_mock *MockVariadic) VariadicFunction(str string, vFunc Variadic...
  type MockVariadic_Expecter (line 5523) | type MockVariadic_Expecter struct
    method VariadicFunction (line 5556) | func (_e *MockVariadic_Expecter) VariadicFunction(str interface{}, vFu...
  type MockVariadic_VariadicFunction_Call (line 5549) | type MockVariadic_VariadicFunction_Call struct
    method Run (line 5560) | func (_c *MockVariadic_VariadicFunction_Call) Run(run func(str string,...
    method Return (line 5578) | func (_c *MockVariadic_VariadicFunction_Call) Return(err error) *MockV...
    method RunAndReturn (line 5583) | func (_c *MockVariadic_VariadicFunction_Call) RunAndReturn(run func(st...
  function NewMockVariadicReturnFunc (line 5590) | func NewMockVariadicReturnFunc(t interface {
  type MockVariadicReturnFunc (line 5603) | type MockVariadicReturnFunc struct
    method EXPECT (line 5611) | func (_m *MockVariadicReturnFunc) EXPECT() *MockVariadicReturnFunc_Exp...
    method SampleMethod (line 5616) | func (_mock *MockVariadicReturnFunc) SampleMethod(str string) func(str...
  type MockVariadicReturnFunc_Expecter (line 5607) | type MockVariadicReturnFunc_Expecter struct
    method SampleMethod (line 5641) | func (_e *MockVariadicReturnFunc_Expecter) SampleMethod(str interface{...
  type MockVariadicReturnFunc_SampleMethod_Call (line 5635) | type MockVariadicReturnFunc_SampleMethod_Call struct
    method Run (line 5645) | func (_c *MockVariadicReturnFunc_SampleMethod_Call) Run(run func(str s...
    method Return (line 5658) | func (_c *MockVariadicReturnFunc_SampleMethod_Call) Return(fn func(str...
    method RunAndReturn (line 5663) | func (_c *MockVariadicReturnFunc_SampleMethod_Call) RunAndReturn(run f...
  function NewMockVariadicWithMultipleReturnsUnrollVariadic (line 5670) | func NewMockVariadicWithMultipleReturnsUnrollVariadic(t interface {
  type MockVariadicWithMultipleReturnsUnrollVariadic (line 5683) | type MockVariadicWithMultipleReturnsUnrollVariadic struct
    method EXPECT (line 5691) | func (_m *MockVariadicWithMultipleReturnsUnrollVariadic) EXPECT() *Moc...
    method Foo (line 5696) | func (_mock *MockVariadicWithMultipleReturnsUnrollVariadic) Foo(one st...
  type MockVariadicWithMultipleReturnsUnrollVariadic_Expecter (line 5687) | type MockVariadicWithMultipleReturnsUnrollVariadic_Expecter struct
    method Foo (line 5737) | func (_e *MockVariadicWithMultipleReturnsUnrollVariadic_Expecter) Foo(...
  type MockVariadicWithMultipleReturnsUnrollVariadic_Foo_Call (line 5730) | type MockVariadicWithMultipleReturnsUnrollVariadic_Foo_Call struct
    method Run (line 5742) | func (_c *MockVariadicWithMultipleReturnsUnrollVariadic_Foo_Call) Run(...
    method Return (line 5764) | func (_c *MockVariadicWithMultipleReturnsUnrollVariadic_Foo_Call) Retu...
    method RunAndReturn (line 5769) | func (_c *MockVariadicWithMultipleReturnsUnrollVariadic_Foo_Call) RunA...
  function NewMockVariadicWithMultipleReturns (line 5776) | func NewMockVariadicWithMultipleReturns(t interface {
  type MockVariadicWithMultipleReturns (line 5789) | type MockVariadicWithMultipleReturns struct
    method EXPECT (line 5797) | func (_m *MockVariadicWithMultipleReturns) EXPECT() *MockVariadicWithM...
    method Foo (line 5802) | func (_mock *MockVariadicWithMultipleReturns) Foo(one string, two ...s...
  type MockVariadicWithMultipleReturns_Expecter (line 5793) | type MockVariadicWithMultipleReturns_Expecter struct
    method Foo (line 5841) | func (_e *MockVariadicWithMultipleReturns_Expecter) Foo(one interface{...
  type MockVariadicWithMultipleReturns_Foo_Call (line 5834) | type MockVariadicWithMultipleReturns_Foo_Call struct
    method Run (line 5846) | func (_c *MockVariadicWithMultipleReturns_Foo_Call) Run(run func(one s...
    method Return (line 5866) | func (_c *MockVariadicWithMultipleReturns_Foo_Call) Return(result stri...
    method RunAndReturn (line 5871) | func (_c *MockVariadicWithMultipleReturns_Foo_Call) RunAndReturn(run f...
  function NewMockVariadicWithNoReturns (line 5878) | func NewMockVariadicWithNoReturns(t interface {
  type MockVariadicWithNoReturns (line 5891) | type MockVariadicWithNoReturns struct
    method EXPECT (line 5899) | func (_m *MockVariadicWithNoReturns) EXPECT() *MockVariadicWithNoRetur...
    method Foo (line 5904) | func (_mock *MockVariadicWithNoReturns) Foo(one string, two ...string) {
  type MockVariadicWithNoReturns_Expecter (line 5895) | type MockVariadicWithNoReturns_Expecter struct
    method Foo (line 5925) | func (_e *MockVariadicWithNoReturns_Expecter) Foo(one interface{}, two...
  type MockVariadicWithNoReturns_Foo_Call (line 5918) | type MockVariadicWithNoReturns_Foo_Call struct
    method Run (line 5930) | func (_c *MockVariadicWithNoReturns_Foo_Call) Run(run func(one string,...
    method Return (line 5952) | func (_c *MockVariadicWithNoReturns_Foo_Call) Return() *MockVariadicWi...
    method RunAndReturn (line 5957) | func (_c *MockVariadicWithNoReturns_Foo_Call) RunAndReturn(run func(on...

FILE: internal/fixtures/multi_template/interface.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/multi_template/interface_test.go
  function TestFoo (line 9) | func TestFoo(t *testing.T) {

FILE: internal/fixtures/multi_template/mocks_matryer_multitemplate_test.go
  type MockMatryerFoo (line 32) | type MockMatryerFoo struct
    method Bar (line 46) | func (mock *MockMatryerFoo) Bar() string {
    method BarCalls (line 62) | func (mock *MockMatryerFoo) BarCalls() []struct {

FILE: internal/fixtures/multi_template/mocks_testify_multitemplate_test.go
  function NewMockTestifyFoo (line 15) | func NewMockTestifyFoo(t interface {
  type MockTestifyFoo (line 28) | type MockTestifyFoo struct
    method EXPECT (line 36) | func (_m *MockTestifyFoo) EXPECT() *MockTestifyFoo_Expecter {
    method Bar (line 41) | func (_mock *MockTestifyFoo) Bar() string {
  type MockTestifyFoo_Expecter (line 32) | type MockTestifyFoo_Expecter struct
    method Bar (line 63) | func (_e *MockTestifyFoo_Expecter) Bar() *MockTestifyFoo_Bar_Call {
  type MockTestifyFoo_Bar_Call (line 58) | type MockTestifyFoo_Bar_Call struct
    method Run (line 67) | func (_c *MockTestifyFoo_Bar_Call) Run(run func()) *MockTestifyFoo_Bar...
    method Return (line 74) | func (_c *MockTestifyFoo_Bar_Call) Return(s string) *MockTestifyFoo_Ba...
    method RunAndReturn (line 79) | func (_c *MockTestifyFoo_Bar_Call) RunAndReturn(run func() string) *Mo...

FILE: internal/fixtures/nil_run.go
  type NilRun (line 3) | type NilRun interface

FILE: internal/fixtures/nil_run_test.go
  function TestDoer (line 9) | func TestDoer(t *testing.T) {

FILE: internal/fixtures/output_dir/interface.go
  type OutputDirWithDifferentPkgName (line 3) | type OutputDirWithDifferentPkgName interface
  type OutputDirWithSamePkgNameAsSrc (line 7) | type OutputDirWithSamePkgNameAsSrc interface
  type OutputDirWithinSrcPkg (line 11) | type OutputDirWithinSrcPkg interface

FILE: internal/fixtures/output_dir/interface_test.go
  function TestOutputSourceImport (line 12) | func TestOutputSourceImport(t *testing.T) {
  function TestOutputEnsureCheck (line 45) | func TestOutputEnsureCheck(t *testing.T) {

FILE: internal/fixtures/output_dir/mock/mocks_matryer_output_dir_test.go
  type MoqOutputDirWithDifferentPkgName (line 34) | type MoqOutputDirWithDifferentPkgName struct
    method Foo (line 48) | func (mock *MoqOutputDirWithDifferentPkgName) Foo() string {
    method FooCalls (line 67) | func (mock *MoqOutputDirWithDifferentPkgName) FooCalls() []struct {
    method ResetFooCalls (line 78) | func (mock *MoqOutputDirWithDifferentPkgName) ResetFooCalls() {
    method ResetCalls (line 85) | func (mock *MoqOutputDirWithDifferentPkgName) ResetCalls() {

FILE: internal/fixtures/output_dir/mocks_matryer_output_dir_test.go
  type MoqOutputDirWithinSrcPkg (line 32) | type MoqOutputDirWithinSrcPkg struct
    method Baz (line 46) | func (mock *MoqOutputDirWithinSrcPkg) Baz() string {
    method BazCalls (line 65) | func (mock *MoqOutputDirWithinSrcPkg) BazCalls() []struct {
    method ResetBazCalls (line 76) | func (mock *MoqOutputDirWithinSrcPkg) ResetBazCalls() {
    method ResetCalls (line 83) | func (mock *MoqOutputDirWithinSrcPkg) ResetCalls() {

FILE: internal/fixtures/output_dir/output_dir/mocks_matryer_output_dir_test.go
  type MoqOutputDirWithSamePkgNameAsSrc (line 34) | type MoqOutputDirWithSamePkgNameAsSrc struct
    method Bar (line 48) | func (mock *MoqOutputDirWithSamePkgNameAsSrc) Bar() string {
    method BarCalls (line 67) | func (mock *MoqOutputDirWithSamePkgNameAsSrc) BarCalls() []struct {
    method ResetBarCalls (line 78) | func (mock *MoqOutputDirWithSamePkgNameAsSrc) ResetBarCalls() {
    method ResetCalls (line 85) | func (mock *MoqOutputDirWithSamePkgNameAsSrc) ResetCalls() {

FILE: internal/fixtures/panic_err.go
  type PanicOnNoReturnValue (line 3) | type PanicOnNoReturnValue interface

FILE: internal/fixtures/panic_err_test.go
  function TestPanicOnNoReturnValue (line 10) | func TestPanicOnNoReturnValue(t *testing.T) {

FILE: internal/fixtures/recursive_generation/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/recursive_generation/mocks_testify_recursive_generation_test.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Get (line 41) | func (_mock *MockFoo) Get() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Get (line 63) | func (_e *MockFoo_Expecter) Get() *MockFoo_Get_Call {
  type MockFoo_Get_Call (line 58) | type MockFoo_Get_Call struct
    method Run (line 67) | func (_c *MockFoo_Get_Call) Run(run func()) *MockFoo_Get_Call {
    method Return (line 74) | func (_c *MockFoo_Get_Call) Return(s string) *MockFoo_Get_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Get_Call) RunAndReturn(run func() string) *MockFoo_G...

FILE: internal/fixtures/recursive_generation/subpkg1/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/recursive_generation/subpkg1/mocks_testify_subpkg1_test.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Get (line 41) | func (_mock *MockFoo) Get() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Get (line 63) | func (_e *MockFoo_Expecter) Get() *MockFoo_Get_Call {
  type MockFoo_Get_Call (line 58) | type MockFoo_Get_Call struct
    method Run (line 67) | func (_c *MockFoo_Get_Call) Run(run func()) *MockFoo_Get_Call {
    method Return (line 74) | func (_c *MockFoo_Get_Call) Return(s string) *MockFoo_Get_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Get_Call) RunAndReturn(run func() string) *MockFoo_G...

FILE: internal/fixtures/recursive_generation/subpkg2/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/recursive_generation/subpkg2/mocks_testify_subpkg2_test.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Get (line 41) | func (_mock *MockFoo) Get() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Get (line 63) | func (_e *MockFoo_Expecter) Get() *MockFoo_Get_Call {
  type MockFoo_Get_Call (line 58) | type MockFoo_Get_Call struct
    method Run (line 67) | func (_c *MockFoo_Get_Call) Run(run func()) *MockFoo_Get_Call {
    method Return (line 74) | func (_c *MockFoo_Get_Call) Return(s string) *MockFoo_Get_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Get_Call) RunAndReturn(run func() string) *MockFoo_G...

FILE: internal/fixtures/recursive_generation/subpkg_with_only_autogenerated_files/foo.go
  type Foo (line 4) | type Foo interface

FILE: internal/fixtures/recursive_generation_with_subpkg_exclude/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/recursive_generation_with_subpkg_exclude/foo_test.go
  function TestSubpkg2NotExist (line 13) | func TestSubpkg2NotExist(t *testing.T) {
  function TestSubpkg1Exists (line 22) | func TestSubpkg1Exists(t *testing.T) {

FILE: internal/fixtures/recursive_generation_with_subpkg_exclude/mocks.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Bar (line 41) | func (_mock *MockFoo) Bar() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Bar (line 63) | func (_e *MockFoo_Expecter) Bar() *MockFoo_Bar_Call {
  type MockFoo_Bar_Call (line 58) | type MockFoo_Bar_Call struct
    method Run (line 67) | func (_c *MockFoo_Bar_Call) Run(run func()) *MockFoo_Bar_Call {
    method Return (line 74) | func (_c *MockFoo_Bar_Call) Return(s string) *MockFoo_Bar_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Bar_Call) RunAndReturn(run func() string) *MockFoo_B...

FILE: internal/fixtures/recursive_generation_with_subpkg_exclude/subpkg1/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/recursive_generation_with_subpkg_exclude/subpkg1/mocks.go
  function NewMockFoo (line 15) | func NewMockFoo(t interface {
  type MockFoo (line 28) | type MockFoo struct
    method EXPECT (line 36) | func (_m *MockFoo) EXPECT() *MockFoo_Expecter {
    method Bar (line 41) | func (_mock *MockFoo) Bar() string {
  type MockFoo_Expecter (line 32) | type MockFoo_Expecter struct
    method Bar (line 63) | func (_e *MockFoo_Expecter) Bar() *MockFoo_Bar_Call {
  type MockFoo_Bar_Call (line 58) | type MockFoo_Bar_Call struct
    method Run (line 67) | func (_c *MockFoo_Bar_Call) Run(run func()) *MockFoo_Bar_Call {
    method Return (line 74) | func (_c *MockFoo_Bar_Call) Return(s string) *MockFoo_Bar_Call {
    method RunAndReturn (line 79) | func (_c *MockFoo_Bar_Call) RunAndReturn(run func() string) *MockFoo_B...

FILE: internal/fixtures/recursive_generation_with_subpkg_exclude/subpkg2/foo.go
  type Foo (line 3) | type Foo interface

FILE: internal/fixtures/redefined_type_b/redefined_type_b.go
  type B (line 6) | type B

FILE: internal/fixtures/replace_type_pointers/interface.go
  type Foo (line 4) | type Foo
  type Bar (line 5) | type Bar
  type InterfaceWithPointers (line 8) | type InterfaceWithPointers interface

FILE: internal/fixtures/replace_type_pointers/interface_test.go
  function TestReplaceTypePointers (line 11) | func TestReplaceTypePointers(t *testing.T) {

FILE: internal/fixtures/replace_type_pointers/mocks_testify_replace_type_pointers_test.go
  function NewMockInterfaceWithPointers (line 15) | func NewMockInterfaceWithPointers(t interface {
  type MockInterfaceWithPointers (line 28) | type MockInterfaceWithPointers struct
    method EXPECT (line 36) | func (_m *MockInterfaceWithPointers) EXPECT() *MockInterfaceWithPointe...
    method BarFunc (line 41) | func (_mock *MockInterfaceWithPointers) BarFunc(bar Bar) Bar {
    method FooFunc (line 92) | func (_mock *MockInterfaceWithPointers) FooFunc(foo *Bar) *Bar {
  type MockInterfaceWithPointers_Expecter (line 32) | type MockInterfaceWithPointers_Expecter struct
    method BarFunc (line 64) | func (_e *MockInterfaceWithPointers_Expecter) BarFunc(bar interface{})...
    method FooFunc (line 117) | func (_e *MockInterfaceWithPointers_Expecter) FooFunc(foo interface{})...
  type MockInterfaceWithPointers_BarFunc_Call (line 58) | type MockInterfaceWithPointers_BarFunc_Call struct
    method Run (line 68) | func (_c *MockInterfaceWithPointers_BarFunc_Call) Run(run func(bar Bar...
    method Return (line 81) | func (_c *MockInterfaceWithPointers_BarFunc_Call) Return(bar1 Bar) *Mo...
    method RunAndReturn (line 86) | func (_c *MockInterfaceWithPointers_BarFunc_Call) RunAndReturn(run fun...
  type MockInterfaceWithPointers_FooFunc_Call (line 111) | type MockInterfaceWithPointers_FooFunc_Call struct
    method Run (line 121) | func (_c *MockInterfaceWithPointers_FooFunc_Call) Run(run func(foo *Ba...
    method Return (line 134) | func (_c *MockInterfaceWithPointers_FooFunc_Call) Return(foo1 *Bar) *M...
    method RunAndReturn (line 139) | func (_c *MockInterfaceWithPointers_FooFunc_Call) RunAndReturn(run fun...

FILE: internal/fixtures/requester.go
  type Requester (line 3) | type Requester interface

FILE: internal/fixtures/requester2.go
  type Requester2 (line 3) | type Requester2 interface

FILE: internal/fixtures/requester3.go
  type Requester3 (line 3) | type Requester3 interface

FILE: internal/fixtures/requester4.go
  type Requester4 (line 3) | type Requester4 interface

FILE: internal/fixtures/requester_arg_same_as_import.go
  type RequesterArgSameAsImport (line 5) | type RequesterArgSameAsImport interface

FILE: internal/fixtures/requester_arg_same_as_named_import.go
  type RequesterArgSameAsNamedImport (line 5) | type RequesterArgSameAsNamedImport interface

FILE: internal/fixtures/requester_arg_same_as_pkg.go
  type RequesterArgSameAsPkg (line 3) | type RequesterArgSameAsPkg interface

FILE: internal/fixtures/requester_array.go
  type RequesterArray (line 3) | type RequesterArray interface

FILE: internal/fixtures/requester_elided.go
  type RequesterElided (line 3) | type RequesterElided interface

FILE: internal/fixtures/requester_iface.go
  type RequesterIface (line 5) | type RequesterIface interface

FILE: internal/fixtures/requester_ns.go
  type RequesterNS (line 5) | type RequesterNS interface

FILE: internal/fixtures/requester_ptr.go
  type RequesterPtr (line 3) | type RequesterPtr interface

FILE: internal/fixtures/requester_ret_elided.go
  type RequesterReturnElided (line 3) | type RequesterReturnElided interface

FILE: internal/fixtures/requester_slice.go
  type RequesterSlice (line 3) | type RequesterSlice interface

FILE: internal/fixtures/requester_test.go
  function TestRequesterMock (line 11) | func TestRequesterMock(t *testing.T) {
  function TestRequesterMockRunAndReturn (line 19) | func TestRequesterMockRunAndReturn(t *testing.T) {
  function TestRequesterMockRun (line 29) | func TestRequesterMockRun(t *testing.T) {
  function TestRequesterMockTestifyEmbed (line 41) | func TestRequesterMockTestifyEmbed(t *testing.T) {
  function TestRequesterMoq (line 49) | func TestRequesterMoq(t *testing.T) {
  function TestRequesterMatryerStub (line 61) | func TestRequesterMatryerStub(t *testing.T) {

FILE: internal/fixtures/requester_unexported.go
  type requesterUnexported (line 3) | type requesterUnexported interface

FILE: internal/fixtures/requester_variadic.go
  type RequesterVariadic (line 5) | type RequesterVariadic interface

FILE: internal/fixtures/same_name_imports.go
  type Example (line 11) | type Example interface

FILE: internal/fixtures/struct_value.go
  type B (line 3) | type B struct
  type A (line 5) | type A interface

FILE: internal/fixtures/struct_with_tag.go
  type StructWithTag (line 3) | type StructWithTag interface

FILE: internal/fixtures/template_exercise/exercise.go
  type Exercise (line 13) | type Exercise interface

FILE: internal/fixtures/type_alias/interface.go
  type Interface1 (line 11) | type Interface1 interface
  type Interface2 (line 15) | type Interface2 interface

FILE: internal/fixtures/type_alias/interface_test.go
  function TestTypeAliasInMethodReturn (line 13) | func TestTypeAliasInMethodReturn(t *testing.T) {
  function TestTypeAliasMock (line 36) | func TestTypeAliasMock(t *testing.T) {

FILE: internal/fixtures/type_alias/mocks_testify_type_alias_test.go
  function NewMockAliasToInterface3 (line 16) | func NewMockAliasToInterface3(t interface {
  type MockAliasToInterface3 (line 29) | type MockAliasToInterface3 struct
    method EXPECT (line 37) | func (_m *MockAliasToInterface3) EXPECT() *MockAliasToInterface3_Expec...
    method Foo (line 42) | func (_mock *MockAliasToInterface3) Foo() string {
  type MockAliasToInterface3_Expecter (line 33) | type MockAliasToInterface3_Expecter struct
    method Foo (line 64) | func (_e *MockAliasToInterface3_Expecter) Foo() *MockAliasToInterface3...
  type MockAliasToInterface3_Foo_Call (line 59) | type MockAliasToInterface3_Foo_Call struct
    method Run (line 68) | func (_c *MockAliasToInterface3_Foo_Call) Run(run func()) *MockAliasTo...
    method Return (line 75) | func (_c *MockAliasToInterface3_Foo_Call) Return(s string) *MockAliasT...
    method RunAndReturn (line 80) | func (_c *MockAliasToInterface3_Foo_Call) RunAndReturn(run func() stri...
  function NewMockInterface1 (line 87) | func NewMockInterface1(t interface {
  type MockInterface1 (line 100) | type MockInterface1 struct
    method EXPECT (line 108) | func (_m *MockInterface1) EXPECT() *MockInterface1_Expecter {
    method Foo (line 113) | func (_mock *MockInterface1) Foo() Type {
  type MockInterface1_Expecter (line 104) | type MockInterface1_Expecter struct
    method Foo (line 135) | func (_e *MockInterface1_Expecter) Foo() *MockInterface1_Foo_Call {
  type MockInterface1_Foo_Call (line 130) | type MockInterface1_Foo_Call struct
    method Run (line 139) | func (_c *MockInterface1_Foo_Call) Run(run func()) *MockInterface1_Foo...
    method Return (line 146) | func (_c *MockInterface1_Foo_Call) Return(v Type) *MockInterface1_Foo_...
    method RunAndReturn (line 151) | func (_c *MockInterface1_Foo_Call) RunAndReturn(run func() Type) *Mock...
  function NewMockInterface2 (line 158) | func NewMockInterface2(t interface {
  type MockInterface2 (line 171) | type MockInterface2 struct
    method EXPECT (line 179) | func (_m *MockInterface2) EXPECT() *MockInterface2_Expecter {
    method F (line 184) | func (_mock *MockInterface2) F(v Type, v1 S, s subpkg.S) {
  type MockInterface2_Expecter (line 175) | type MockInterface2_Expecter struct
    method F (line 198) | func (_e *MockInterface2_Expecter) F(v interface{}, v1 interface{}, s ...
  type MockInterface2_F_Call (line 190) | type MockInterface2_F_Call struct
    method Run (line 202) | func (_c *MockInterface2_F_Call) Run(run func(v Type, v1 S, s subpkg.S...
    method Return (line 225) | func (_c *MockInterface2_F_Call) Return() *MockInterface2_F_Call {
    method RunAndReturn (line 230) | func (_c *MockInterface2_F_Call) RunAndReturn(run func(v Type, v1 S, s...

FILE: internal/fixtures/type_alias/subpkg/interface.go
  type S (line 3) | type S struct
  type Interface3 (line 7) | type Interface3 interface

FILE: internal/fixtures/unexported/interface.go
  type foo (line 3) | type foo interface

FILE: internal/fixtures/unexported/interface_test.go
  function TestUnexportedConstructorName (line 12) | func TestUnexportedConstructorName(t *testing.T) {

FILE: internal/fixtures/unexported/mocks_testify_unexported_test.go
  function newMockfoo (line 15) | func newMockfoo(t interface {
  type mockfoo (line 28) | type mockfoo struct
    method EXPECT (line 36) | func (_m *mockfoo) EXPECT() *mockfoo_Expecter {
    method Bar (line 41) | func (_mock *mockfoo) Bar() string {
  type mockfoo_Expecter (line 32) | type mockfoo_Expecter struct
    method Bar (line 63) | func (_e *mockfoo_Expecter) Bar() *mockfoo_Bar_Call {
  type mockfoo_Bar_Call (line 58) | type mockfoo_Bar_Call struct
    method Run (line 67) | func (_c *mockfoo_Bar_Call) Run(run func()) *mockfoo_Bar_Call {
    method Return (line 74) | func (_c *mockfoo_Bar_Call) Return(s string) *mockfoo_Bar_Call {
    method RunAndReturn (line 79) | func (_c *mockfoo_Bar_Call) RunAndReturn(run func() string) *mockfoo_B...

FILE: internal/fixtures/unsafe.go
  type UnsafeInterface (line 5) | type UnsafeInterface interface

FILE: internal/fixtures/variadic.go
  type Variadic (line 5) | type Variadic interface

FILE: internal/fixtures/variadic_return_func.go
  type VariadicReturnFunc (line 3) | type VariadicReturnFunc interface

FILE: internal/fixtures/variadic_return_func_test.go
  function TestVariadicReturnFunc (line 9) | func TestVariadicReturnFunc(t *testing.T) {

FILE: internal/fixtures/variadic_with_multiple_returns.go
  type VariadicWithMultipleReturns (line 3) | type VariadicWithMultipleReturns interface

FILE: internal/fixtures/variadic_with_multiple_returns_test.go
  function TestNoUnrollVariadic (line 10) | func TestNoUnrollVariadic(t *testing.T) {
  function TestUnrollVariadic (line 26) | func TestUnrollVariadic(t *testing.T) {
  function TestUnrollVariadicRun (line 42) | func TestUnrollVariadicRun(t *testing.T) {
  function TestNoUnrollVariadicRun (line 56) | func TestNoUnrollVariadicRun(t *testing.T) {
  function TestNoUnrollVariadicWithNoVariadicArgument (line 70) | func TestNoUnrollVariadicWithNoVariadicArgument(t *testing.T) {

FILE: internal/fixtures/variadic_with_no_returns.go
  type VariadicWithNoReturns (line 3) | type VariadicWithNoReturns interface

FILE: internal/interface.go
  type Interface (line 10) | type Interface struct
  function NewInterface (line 20) | func NewInterface(

FILE: internal/logging/logging.go
  constant LogKeyBaseDir (line 18) | LogKeyBaseDir       = "base-dir"
  constant LogKeyDir (line 19) | LogKeyDir           = "dir"
  constant LogKeyDocsURL (line 20) | LogKeyDocsURL       = "docs-url"
  constant LogKeyFile (line 21) | LogKeyFile          = "file"
  constant LogKeyInterface (line 22) | LogKeyInterface     = "interface"
  constant LogKeyImport (line 23) | LogKeyImport        = "import"
  constant LogKeyPath (line 24) | LogKeyPath          = "path"
  constant LogKeyQualifiedName (line 25) | LogKeyQualifiedName = "qualified-name"
  constant LogKeyPackageName (line 26) | LogKeyPackageName   = "package-name"
  constant LogKeyPackagePath (line 27) | LogKeyPackagePath   = "package-path"
  constant defaultSemVer (line 29) | defaultSemVer = "v0.0.0-dev"
  function GetSemverInfo (line 37) | func GetSemverInfo() string {
  function getMinorSemver (line 48) | func getMinorSemver(semver string) string {
  function GetMinorSemver (line 54) | func GetMinorSemver() string {
  function DocsURL (line 58) | func DocsURL(relativePath string) string {
  type timeHook (line 65) | type timeHook struct
    method Run (line 67) | func (t timeHook) Run(e *zerolog.Event, level zerolog.Level, msg strin...
  function GetLogger (line 71) | func GetLogger(levelStr string) (zerolog.Logger, error) {
  function Warn (line 98) | func Warn(ctx context.Context, prefix string, message string, fields ma
Condensed preview — 298 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,061K chars).
[
  {
    "path": ".boilerplate.txt",
    "chars": 27,
    "preview": "// TEST MOCKERY BOILERPLATE"
  },
  {
    "path": ".gitattributes",
    "chars": 38,
    "preview": "* text eol=lf\n*.png -text\n*.gif -text\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 532,
    "preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n## Description\n\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 1247,
    "preview": "Description\n-------------\n\nPlease include a summary of the changes and the related issue. Please also include relevant m"
  },
  {
    "path": ".github/workflows/documentation.yml",
    "chars": 1111,
    "preview": "name: documentation\non:\n  push:\n    branches: [ master, v3 ]\npermissions:\n  contents: write\njobs:\n  deploy:\n    runs-on:"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 1549,
    "preview": "name: \"release\"\n\non:\n  workflow_dispatch:\n    inputs:\n      tag:\n        description: \"Tag to release\"\n        type: str"
  },
  {
    "path": ".github/workflows/reusable-testing.yml",
    "chars": 691,
    "preview": "name: Reusable Go Test\n\non:\n  workflow_call:\n    inputs:\n      ref:\n        required: false\n        type: string\n       "
  },
  {
    "path": ".github/workflows/tag-and-release.yml",
    "chars": 1957,
    "preview": "name: Test and maybe create a new release\n\non:\n  push:\n    branches: [master, v3]\npermissions:\n  contents: write\njobs:\n "
  },
  {
    "path": ".github/workflows/testing-dispatch.yml",
    "chars": 283,
    "preview": "name: Go Test (manual run)\n\non:\n  workflow_dispatch:\n    inputs:\n      ref:\n          description: \"Tag/commit to checko"
  },
  {
    "path": ".github/workflows/testing.yml",
    "chars": 131,
    "preview": "name: Go Test\n\non:\n  pull_request:\n    branches: [ master, v3 ]\n\njobs:\n  test:\n      uses: ./.github/workflows/reusable-"
  },
  {
    "path": ".gitignore",
    "chars": 86,
    "preview": "mockery.prof\ndist\n.idea\ndocs/ve\nve\n.cache\ncoverage.txt\nsite/\n.task/\ntools/tools\n*.lua\n"
  },
  {
    "path": ".golangci.yml",
    "chars": 1379,
    "preview": "linters:\n  # Disable all linters.\n  # Default: false\n  disable-all: true\n  # Enable specific linter\n  # https://golangci"
  },
  {
    "path": ".goreleaser.yml",
    "chars": 2497,
    "preview": "---\nproject_name: mockery\nbefore:\n    hooks:\n      - go mod download\nbuilds:\n  - main: ./main.go\n    binary: mockery\n   "
  },
  {
    "path": ".mockery_matryer.yml",
    "chars": 1221,
    "preview": "template: matryer\nstructname: \"Moq{{.InterfaceName}}\"\nfilename: \"mocks_matryer_{{.SrcPackageName}}_test.go\"\nall: true\nte"
  },
  {
    "path": ".mockery_testify.yml",
    "chars": 5806,
    "preview": "_anchors:\n  foo: bar\ntemplate: \"testify\"\nforce-file-write: true\nformatter: \"goimports\"\nall: True\ndir: \"{{.InterfaceDirRe"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 5223,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1325,
    "preview": "# Contributing\n\nThank you for investing your time in contributing to our project!\n\nRead our [Code of Conduct](https://gi"
  },
  {
    "path": "Dockerfile",
    "chars": 335,
    "preview": "FROM golang:1.26-alpine as builder\n\nRUN apk --update add --no-cache gcc musl-dev git openssh\n\nCOPY mockery /usr/local/bi"
  },
  {
    "path": "LICENSE",
    "chars": 1501,
    "preview": "Copyright (c) 2014, Opinionated Architecture\nAll rights reserved.\n\nRedistribution and use in source and binary forms, wi"
  },
  {
    "path": "README.md",
    "chars": 1378,
    "preview": "\nmockery\n=======\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style"
  },
  {
    "path": "Taskfile.yml",
    "chars": 3478,
    "preview": "version: \"3\"\n\ntasks:\n  coverage:\n    deps: [test]\n    desc: run unit tests and create HTML coverage file\n    cmds:\n     "
  },
  {
    "path": "codecov.yml",
    "chars": 159,
    "preview": "coverage:\n  precision: 5\n  round: down\n  range: \"00...100\"\n  status:\n    patch:\n      default:\n        target: 40%\n     "
  },
  {
    "path": "config/README.md",
    "chars": 241,
    "preview": "Config\n------\n\nThe `config` package provides mockery configuration semantics and behaviors. The [`RootConfig`](https://p"
  },
  {
    "path": "config/config.go",
    "chars": 28212,
    "preview": "// Package config defines the schemas and functionality of the .mockery.yml\n// config files. This package is NOT meant t"
  },
  {
    "path": "config/config_test.go",
    "chars": 4926,
    "preview": "package config\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"go/ast\"\n\t\"os\"\n\t\"path\"\n\t\"testing\"\n\n\t\"github.com/spf13/pflag\"\n\t\"git"
  },
  {
    "path": "docs/configuration.md",
    "chars": 14628,
    "preview": "Configuration\n==============\n\n`mockery init`\n--------------\n\n`mockery init [module_name]` is a useful command that can b"
  },
  {
    "path": "docs/dev-notes.md",
    "chars": 3080,
    "preview": "Developer Notes\n===============\n\nGo Upgrades\n------------\n\nThe mockery project supports the most recent TWO stable Go ve"
  },
  {
    "path": "docs/faq.md",
    "chars": 4897,
    "preview": "---\ntitle: FAQ\n---\n\nFrequently Asked Questions\n===========================\n\nHow do I generate mocks for external package"
  },
  {
    "path": "docs/generate-directive.md",
    "chars": 1845,
    "preview": "# `//mockery:generate`\n\n:octicons-tag-24: v3.6.0\n\nAn alternative way to configure mocks is to use the `#!go //mockery:ge"
  },
  {
    "path": "docs/include-auto-generated.md",
    "chars": 1289,
    "preview": "# `#!yaml include-auto-generated:`\n\n:octicons-tag-24: v3.5.0\n\nThe `#!yaml include-auto-generated:` parameter specifies w"
  },
  {
    "path": "docs/index.md",
    "chars": 6038,
    "preview": "mockery\n========\n\n[v3 Migration Docs](v3.md){ .md-button .md-button--stretch }\n\nMockery is a project that creates mock i"
  },
  {
    "path": "docs/inpackage.md",
    "chars": 1063,
    "preview": "# `#!yaml inpackage:`\n\n:octicons-tag-24: v3.5.0\n\nThe `#!yaml inpackage` parameter overrides mockery's auto-detection log"
  },
  {
    "path": "docs/installation.md",
    "chars": 3564,
    "preview": "Getting Started\n================\n\nInstallation\n-------------\n\n### GitHub Release <small>recommended</small>\n\nVisit the ["
  },
  {
    "path": "docs/javascripts/tablesort.js",
    "chars": 182,
    "preview": "document$.subscribe(function() {\n    var tables = document.querySelectorAll(\"article table:not([class])\")\n    tables.for"
  },
  {
    "path": "docs/replace-type.md",
    "chars": 1710,
    "preview": "# `#!yaml replace-type:`\n\n:octicons-tag-24: v3.0.0\n\nThe `#!yaml replace-type:` parameter allows you to replace a type in"
  },
  {
    "path": "docs/requirements.txt",
    "chars": 162,
    "preview": "mike @ git+https://github.com/jimporter/mike.git\nmkdocs\nmkdocs-glightbox\nmkdocs-material==9.7.1\nmkdocs-open-in-new-tab\nc"
  },
  {
    "path": "docs/stylesheets/extra.css",
    "chars": 206,
    "preview": ".md-button--stretch {\n    width: 100%;\n    text-align: center;\n}\n\n.center {\n    display: block;\n    margin-left: auto;\n "
  },
  {
    "path": "docs/template/index.md",
    "chars": 4674,
    "preview": "Templates\n=========\n\nMockery, in its essence, renders templates. This project provides a number of pre-curated templates"
  },
  {
    "path": "docs/template/matryer.md",
    "chars": 3858,
    "preview": "---\ntitle: matryer\n---\n\n`matryer` mocks are derived from the project at https://github.com/matryer/moq. These mocks crea"
  },
  {
    "path": "docs/template/testify.md",
    "chars": 11635,
    "preview": "---\ntitle: testify\n---\n\nFeatures for `#!yaml template: testify`.\n\nChoosing this template will render a traditional \"mock"
  },
  {
    "path": "docs/v3.md",
    "chars": 11051,
    "preview": "v3 Migration\n==========\n\nMockery releases version 3 of the project that provides a number of high-profile benefits over "
  },
  {
    "path": "e2e/run_all.sh",
    "chars": 373,
    "preview": "#!/bin/bash\nset -e\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\n\nfor test in $(ls -d "
  },
  {
    "path": "e2e/test_infinite_mocking.sh",
    "chars": 737,
    "preview": "#!/bin/bash\n# This tests https://github.com/vektra/mockery/issues/632, where\n# mockery was generating mocks of its own a"
  },
  {
    "path": "e2e/test_missing_interface/.mockery.yml",
    "chars": 95,
    "preview": "packages:\n  github.com/vektra/mockery/v3/internal:\n    interfaces:\n      InterfaceDoesntExist:\n"
  },
  {
    "path": "e2e/test_missing_interface/run.sh",
    "chars": 375,
    "preview": "#!/bin/bash\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\nCONFIG=$SCRIPT_DIR/.mockery"
  },
  {
    "path": "e2e/test_mockery_generation.sh",
    "chars": 226,
    "preview": "#!/bin/bash\n\ngo run github.com/go-task/task/v3/cmd/task mocks\nrt=$?\nif [ $rt -ne 0 ]; then\n    echo \"ERROR: non-zero ret"
  },
  {
    "path": "e2e/test_remote_templates/remote_templates_test.go",
    "chars": 3042,
    "preview": "package testremotetemplates\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/http/httptest\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path\"\n\t\"testing\"\n\n\t\"git"
  },
  {
    "path": "e2e/test_template_data_schema_validation/.mockery.yml",
    "chars": 262,
    "preview": "dir: ./\nfilename: exercise.txt\ntemplate: file://./template.templ\nformatter: noop\nforce-file-write: true\npkgname: test_pk"
  },
  {
    "path": "e2e/test_template_data_schema_validation/template.templ",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "e2e/test_template_data_schema_validation/template.templ.schema.json",
    "chars": 319,
    "preview": "{\n    \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n    \"title\": \"vektra/mockery matryer mock\",\n    \"type\": \"obj"
  },
  {
    "path": "e2e/test_template_data_schema_validation/validation_test.go",
    "chars": 567,
    "preview": "package test_template_exercise\n\nimport (\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)"
  },
  {
    "path": "e2e/test_template_exercise/.mockery.yml",
    "chars": 273,
    "preview": "dir: ./\nfilename: exercise.txt\ntemplate: file://./exercise.templ\nformatter: noop\nforce-file-write: true\npkgname: test_pk"
  },
  {
    "path": "e2e/test_template_exercise/exercise.templ",
    "chars": 3699,
    "preview": ".PkgName: {{ .PkgName }}\n.SrcPkgQualifier: {{ .SrcPkgQualifier }}\n{{ range $i, $import := .Imports }}\n$import.Alias: {{ "
  },
  {
    "path": "e2e/test_template_exercise/exercise.templ.schema.json",
    "chars": 319,
    "preview": "{\n    \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n    \"title\": \"vektra/mockery matryer mock\",\n    \"type\": \"obj"
  },
  {
    "path": "e2e/test_template_exercise/exercise_expected.txt",
    "chars": 3446,
    "preview": ".PkgName: test_pkgname\n.SrcPkgQualifier: templateexercise.\n\n$import.Alias: \n$import.Path: context\n$import.Qualifier: con"
  },
  {
    "path": "e2e/test_template_exercise/exercise_test.go",
    "chars": 714,
    "preview": "package test_template_exercise\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfu"
  },
  {
    "path": "foo.go",
    "chars": 65,
    "preview": "package main\n\ntype baz string\n\ntype foo interface {\n\tBar() baz\n}\n"
  },
  {
    "path": "foo_test.go",
    "chars": 197,
    "preview": "package main\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestFoo(t *testing.T) {\n\tm := newMockfo"
  },
  {
    "path": "go.mod",
    "chars": 2025,
    "preview": "module github.com/vektra/mockery/v3\n\ngo 1.25.0\n\nrequire (\n\tgithub.com/brunoga/deep v1.3.1\n\tgithub.com/go-viper/mapstruct"
  },
  {
    "path": "go.sum",
    "chars": 10201,
    "preview": "github.com/brunoga/deep v1.3.1 h1:bSrL6FhAZa6JlVv4vsi7Hg8SLwroDb1kgDERRVipBCo=\ngithub.com/brunoga/deep v1.3.1/go.mod h1:"
  },
  {
    "path": "go.work",
    "chars": 88,
    "preview": "go 1.25.0\n\nuse (\n\t.\n\t./internal/fixtures/example_project/pkg_with_submodules\n\t./tools\n)\n"
  },
  {
    "path": "go.work.sum",
    "chars": 19088,
    "preview": "cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14=\ncloud.google.com/go v0.115.0/go.mod h1:8jIM"
  },
  {
    "path": "internal/cmd/init.go",
    "chars": 1941,
    "preview": "package cmd\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/vektra/mockery/v3/config\"\n\t\"github"
  },
  {
    "path": "internal/cmd/init_test.go",
    "chars": 1563,
    "preview": "package cmd\n\nimport (\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/tes"
  },
  {
    "path": "internal/cmd/migrate.go",
    "chars": 18543,
    "preview": "package cmd\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"os\"\n\t\"reflect\"\n\t\"strings\"\n\n\t\"github.com/jedib0t/go-pretty/v6/table\"\n\t\"github.c"
  },
  {
    "path": "internal/cmd/migrate_test.go",
    "chars": 9216,
    "preview": "package cmd\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"path\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/t"
  },
  {
    "path": "internal/cmd/mockery.go",
    "chars": 12928,
    "preview": "package cmd\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\n\t\"github.com/vektra/mockery/v3/conf"
  },
  {
    "path": "internal/cmd/mocks_testify_cmd_test.go",
    "chars": 2497,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/cmd/showconfig.go",
    "chars": 1101,
    "preview": "package cmd\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\tkoanfYAML \"github.com/knadh/koanf/parsers/yaml\"\n\t\"github.com/knadh/koanf/provi"
  },
  {
    "path": "internal/cmd/version.go",
    "chars": 330,
    "preview": "package cmd\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/vektra/mockery/v3/internal/logging\"\n)\n\nfunc NewVers"
  },
  {
    "path": "internal/config/config.go",
    "chars": 358,
    "preview": "package internal\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/vektra/mockery/v3/internal/file\"\n)\n\nfunc FindConfig() (string, err"
  },
  {
    "path": "internal/errors.go",
    "chars": 385,
    "preview": "package internal\n\nimport \"fmt\"\n\nvar (\n\tErrNoConfigFile         = fmt.Errorf(\"no config file exists\")\n\tErrNoGoFilesFoundI"
  },
  {
    "path": "internal/file/exists.go",
    "chars": 335,
    "preview": "package file\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"os\"\n)\n\nfunc Exists(name string) (bool, error) {\n\tinfo, err := os.Stat(name)\n\ti"
  },
  {
    "path": "internal/file/exists_test.go",
    "chars": 430,
    "preview": "package file\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestExistsDot(t *testing.T) {\n\texists, "
  },
  {
    "path": "internal/file/find.go",
    "chars": 1440,
    "preview": "package file\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path\"\n\t\"path/filepath\"\n)\n\nfunc CleanPath(filePath string) (string,"
  },
  {
    "path": "internal/file/find_test.go",
    "chars": 413,
    "preview": "package file\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/require\"\n)\n\nfunc "
  },
  {
    "path": "internal/fixtures/12345678/http/http.go",
    "chars": 37,
    "preview": "package http\n\ntype MyStruct struct{}\n"
  },
  {
    "path": "internal/fixtures/any_keyword.go",
    "chars": 58,
    "preview": "package test\n\ntype UsesAny interface {\n\tGetReader() any\n}\n"
  },
  {
    "path": "internal/fixtures/argument_is_func_type.go",
    "chars": 135,
    "preview": "package test\n\ntype Fooer interface {\n\tFoo(f func(x string) string) error\n\tBar(f func([]int))\n\tBaz(path string) func(x st"
  },
  {
    "path": "internal/fixtures/argument_is_map_func.go",
    "chars": 86,
    "preview": "package test\n\ntype MapFunc interface {\n\tGet(m map[string]func(string) string) error\n}\n"
  },
  {
    "path": "internal/fixtures/async.go",
    "chars": 112,
    "preview": "package test\n\ntype AsyncProducer interface {\n\tInput() chan<- bool\n\tOutput() <-chan bool\n\tWhatever() chan bool\n}\n"
  },
  {
    "path": "internal/fixtures/auto_generated_skip/auto_generated.go",
    "chars": 200,
    "preview": "// Code generated by mockery; DO NOT EDIT.\n// This is not actually auto-generated, we're just testing that mockery\n// sk"
  },
  {
    "path": "internal/fixtures/auto_generated_skip/foo.go",
    "chars": 64,
    "preview": "package autogeneratedskip\n\ntype Foo interface {\n\tGet() string\n}\n"
  },
  {
    "path": "internal/fixtures/auto_generated_skip/foo_test.go",
    "chars": 526,
    "preview": "package autogeneratedskip\n\nimport (\n\t\"os\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testif"
  },
  {
    "path": "internal/fixtures/auto_generated_skip/mocks_testify_autogeneratedskip_test.go",
    "chars": 1820,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/buildtag/comment/custom2_iface.go",
    "chars": 167,
    "preview": "//go:build custom2\n// +build custom2\n\npackage comment\n\ntype IfaceWithCustomBuildTagInComment interface {\n\tSprintf(format"
  },
  {
    "path": "internal/fixtures/buildtag/comment/custom_iface.go",
    "chars": 154,
    "preview": "//go:build custom\n// +build custom\n\npackage comment\n\ntype IfaceWithCustomBuildTagInComment interface {\n\tSprintf(format s"
  },
  {
    "path": "internal/fixtures/buildtag/comment/darwin_iface.go",
    "chars": 148,
    "preview": "//go:build darwin\n// +build darwin\n\npackage comment\n\ntype IfaceWithBuildTagInComment interface {\n\tSprintf(format string,"
  },
  {
    "path": "internal/fixtures/buildtag/comment/freebsd_iface.go",
    "chars": 150,
    "preview": "//go:build freebsd\n// +build freebsd\n\npackage comment\n\ntype IfaceWithBuildTagInComment interface {\n\tSprintf(format strin"
  },
  {
    "path": "internal/fixtures/buildtag/comment/linux_iface.go",
    "chars": 146,
    "preview": "//go:build linux\n// +build linux\n\npackage comment\n\ntype IfaceWithBuildTagInComment interface {\n\tSprintf(format string, a"
  },
  {
    "path": "internal/fixtures/buildtag/comment/mocks_testify_comment_test.go",
    "chars": 3061,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/buildtag/comment/windows_iface.go",
    "chars": 150,
    "preview": "//go:build windows\n// +build windows\n\npackage comment\n\ntype IfaceWithBuildTagInComment interface {\n\tSprintf(format strin"
  },
  {
    "path": "internal/fixtures/buildtag/filename/iface_darwin.go",
    "chars": 114,
    "preview": "package filename\n\ntype IfaceWithBuildTagInFilename interface {\n\tSprintf(format string, a ...interface{}) string\n}\n"
  },
  {
    "path": "internal/fixtures/buildtag/filename/iface_freebsd.go",
    "chars": 114,
    "preview": "package filename\n\ntype IfaceWithBuildTagInFilename interface {\n\tSprintf(format string, a ...interface{}) string\n}\n"
  },
  {
    "path": "internal/fixtures/buildtag/filename/iface_linux.go",
    "chars": 114,
    "preview": "package filename\n\ntype IfaceWithBuildTagInFilename interface {\n\tSprintf(format string, a ...interface{}) string\n}\n"
  },
  {
    "path": "internal/fixtures/buildtag/filename/iface_windows.go",
    "chars": 114,
    "preview": "package filename\n\ntype IfaceWithBuildTagInFilename interface {\n\tSprintf(format string, a ...interface{}) string\n}\n"
  },
  {
    "path": "internal/fixtures/constraint_ifaces/constraint_interfaces.go",
    "chars": 295,
    "preview": "package skipconstraintifaces\n\nimport \"golang.org/x/exp/constraints\"\n\ntype Skip1 constraints.Ordered\n\ntype Skip2 interfac"
  },
  {
    "path": "internal/fixtures/constraint_ifaces/constraint_interfaces_test.go",
    "chars": 316,
    "preview": "package skipconstraintifaces\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n\t\"github.com/vektra/mockery/v3"
  },
  {
    "path": "internal/fixtures/constraints/constraints.go",
    "chars": 123,
    "preview": "package constraints\n\ntype Signed interface {\n\t~int\n}\n\ntype Integer interface {\n\t~int\n}\n\ntype String interface {\n\t~string"
  },
  {
    "path": "internal/fixtures/consul.go",
    "chars": 108,
    "preview": "package test\n\ntype ConsulLock interface {\n\tLock(<-chan struct{}) (<-chan struct{}, error)\n\tUnlock() error\n}\n"
  },
  {
    "path": "internal/fixtures/custom_error.go",
    "chars": 226,
    "preview": "package test\n\ntype Err struct {\n\tmsg  string\n\tcode uint64\n}\n\nfunc (e *Err) Error() string {\n\treturn e.msg\n}\n\nfunc (e *Er"
  },
  {
    "path": "internal/fixtures/directive_comments/directive_comments.go",
    "chars": 1373,
    "preview": "package directive_comments\n\nimport \"net/http\"\n\n// Requester is an interface that defines a method for making HTTP reques"
  },
  {
    "path": "internal/fixtures/directive_comments/directive_comments_test.go",
    "chars": 2047,
    "preview": "package directive_comments\n\nimport (\n\t\"os\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testi"
  },
  {
    "path": "internal/fixtures/directive_comments/mocks_matryer_directive_comments_test.go",
    "chars": 1854,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/directive_comments/mocks_testify_directive_comments_test.go",
    "chars": 6275,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/directive_comments/server_with_different_file.go",
    "chars": 5182,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/directive_comments_example/interface.go",
    "chars": 267,
    "preview": "package directivecommentsexample\n\n// Requester is an interface that defines a method for making HTTP requests.\n//\n//mock"
  },
  {
    "path": "internal/fixtures/empty_interface.go",
    "chars": 68,
    "preview": "package test\n\ntype Blank interface {\n\tCreate(x interface{}) error\n}\n"
  },
  {
    "path": "internal/fixtures/empty_return/interface.go",
    "chars": 90,
    "preview": "package empty_return\n\ntype EmptyReturn interface {\n\tNoArgs()\n\tWithArgs(a int, b string)\n}\n"
  },
  {
    "path": "internal/fixtures/empty_return/interface_test.go",
    "chars": 744,
    "preview": "package empty_return\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n)\n\nfunc Test(t *testing.T) {\n\tm := New"
  },
  {
    "path": "internal/fixtures/empty_return/mocks_matryer_empty_return_test.go",
    "chars": 3390,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/empty_return/mocks_testify_empty_return_test.go",
    "chars": 3020,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/example_project/bar/foo/client.go",
    "chars": 79,
    "preview": "package foo\n\ntype Client interface {\n\tSearch(query string) ([]string, error)\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/baz/foo.go",
    "chars": 205,
    "preview": "package baz\n\nimport (\n\tifoo \"github.com/vektra/mockery/v3/internal/fixtures/example_project/baz/internal/foo\"\n)\n\ntype Ba"
  },
  {
    "path": "internal/fixtures/example_project/baz/internal/foo/foo.go",
    "chars": 62,
    "preview": "package foo\n\ntype InternalBaz struct {\n\tOne string\n\tTwo int\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/context/context.go",
    "chars": 109,
    "preview": "package context\n\nimport (\n\t\"context\"\n)\n\ntype CollideWithStdLib interface {\n\tNewClient(ctx context.Context)\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/foo/foo.go",
    "chars": 118,
    "preview": "package foo\n\ntype Baz struct {\n\tOne string\n\tTwo int\n}\n\ntype Foo interface {\n\tDoFoo() string\n\tGetBaz() (*Baz, error)\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/foo/pkg_name_same_as_import.go",
    "chars": 161,
    "preview": "package foo\n\nimport \"github.com/vektra/mockery/v3/internal/fixtures/example_project/bar/foo\"\n\ntype PackageNameSameAsImpo"
  },
  {
    "path": "internal/fixtures/example_project/mocks_testify_example_project_test.go",
    "chars": 5121,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/go.mod",
    "chars": 94,
    "preview": "module github.com/vektra/mockery/v3/pkg/fixtures/example_project/pkg_with_submodules\n\ngo 1.19\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/string.go",
    "chars": 74,
    "preview": "package pkg_with_submodules\n\ntype Stringer interface {\n\tString() string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/submodule/go.mod",
    "chars": 86,
    "preview": "module github.com/vektra/mockery/v3/pkg/fixtures/example_project/submodule\n\ngo 1.21.0\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/submodule/string.go",
    "chars": 64,
    "preview": "package submodule\n\ntype Stringer interface {\n\tString() string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/subpkg/string.go",
    "chars": 61,
    "preview": "package subpkg\n\ntype Stringer interface {\n\tString() string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/subpkg/submodule/go.mod",
    "chars": 111,
    "preview": "module github.com/vektra/mockery/v3/pkg/fixtures/example_project/pkg_with_submodules/subpkg/submodule\n\ngo 1.19\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_submodules/subpkg/submodule/string.go",
    "chars": 64,
    "preview": "package submodule\n\ntype Stringer interface {\n\tString() string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_subpkgs/foo.go",
    "chars": 25,
    "preview": "package pkg_with_subpkgs\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_subpkgs/subpkg1/foo.go",
    "chars": 16,
    "preview": "package subpkg1\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_subpkgs/subpkg2/foo.go",
    "chars": 16,
    "preview": "package subpkg2\n"
  },
  {
    "path": "internal/fixtures/example_project/pkg_with_subpkgs/subpkg2/subpkg3/foo.go",
    "chars": 63,
    "preview": "package subpkg3\n\ntype Getter interface {\n\tGet(string) string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/replace_type/README.md",
    "chars": 478,
    "preview": "## Fix replace-type for different packages from the same source\n\n[Issue 710](https://github.com/vektra/mockery/pull/710)"
  },
  {
    "path": "internal/fixtures/example_project/replace_type/mocks_testify_replace_type_test.go",
    "chars": 5928,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/example_project/replace_type/rt.go",
    "chars": 281,
    "preview": "package replace_type\n\nimport (\n\t\"github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/rt1\"\n\t\""
  },
  {
    "path": "internal/fixtures/example_project/replace_type/rt_test.go",
    "chars": 709,
    "preview": "package replace_type\n\nimport (\n\t\"os\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/"
  },
  {
    "path": "internal/fixtures/example_project/replace_type/rti/internal/rti.go",
    "chars": 92,
    "preview": "package internal\n\ntype RTInternal1 struct {\n\tA int\n}\n\ntype RTInternal2 struct {\n\tB string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/replace_type/rti/rt1/rt1.go",
    "chars": 147,
    "preview": "package rt1\n\nimport \"github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/internal\"\n\ntype RTy"
  },
  {
    "path": "internal/fixtures/example_project/replace_type/rti/rt2/rt2.go",
    "chars": 147,
    "preview": "package rt2\n\nimport \"github.com/vektra/mockery/v3/internal/fixtures/example_project/replace_type/rti/internal\"\n\ntype RTy"
  },
  {
    "path": "internal/fixtures/example_project/root.go",
    "chars": 177,
    "preview": "package example_project\n\nimport \"github.com/vektra/mockery/v3/internal/fixtures/example_project/foo\"\n\ntype Root interfac"
  },
  {
    "path": "internal/fixtures/example_project/string.go",
    "chars": 70,
    "preview": "package example_project\n\ntype Stringer interface {\n\tString() string\n}\n"
  },
  {
    "path": "internal/fixtures/example_project/string_test.go",
    "chars": 306,
    "preview": "package example_project\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc Foo(s Stringer) string {\n\tre"
  },
  {
    "path": "internal/fixtures/expecter.go",
    "chars": 321,
    "preview": "package test\n\ntype Expecter interface {\n\tNoArg() string\n\tNoReturn(str string)\n\tManyArgsReturns(str string, i int) (strs "
  },
  {
    "path": "internal/fixtures/expecter_test.go",
    "chars": 5836,
    "preview": "package test\n\nimport (\n\t\"errors\"\n\t\"reflect\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/test"
  },
  {
    "path": "internal/fixtures/func_args_collision.go",
    "chars": 79,
    "preview": "package test\n\ntype FuncArgsCollision interface {\n\tFoo(ret interface{}) error\n}\n"
  },
  {
    "path": "internal/fixtures/function.go",
    "chars": 103,
    "preview": "package test\n\nimport (\n\t\"context\"\n)\n\ntype SendFunc func(ctx context.Context, data string) (int, error)\n"
  },
  {
    "path": "internal/fixtures/generic.go",
    "chars": 1211,
    "preview": "package test\n\nimport (\n\t\"io\"\n\n\t\"github.com/vektra/mockery/v3/internal/fixtures/constraints\"\n)\n\ntype RequesterGenerics[\n\t"
  },
  {
    "path": "internal/fixtures/http/http.go",
    "chars": 37,
    "preview": "package http\n\ntype MyStruct struct{}\n"
  },
  {
    "path": "internal/fixtures/iface_new_type/iface_new_type_test.go",
    "chars": 178,
    "preview": "package iface_new_type\n\nimport (\n\t\"testing\"\n)\n\nfunc TestUsage(t *testing.T) {\n\tinterface1 := NewMockInterface1(t)\n\tinter"
  },
  {
    "path": "internal/fixtures/iface_new_type/interface.go",
    "chars": 212,
    "preview": "package iface_new_type\n\nimport \"github.com/vektra/mockery/v3/internal/fixtures/iface_new_type/subpkg\"\n\ntype Interface1 i"
  },
  {
    "path": "internal/fixtures/iface_new_type/mocks_testify_iface_new_type_test.go",
    "chars": 5047,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/iface_new_type/subpkg/interface.go",
    "chars": 62,
    "preview": "package subpkg\n\ntype SubPkgInterface interface {\n\tMethod1()\n}\n"
  },
  {
    "path": "internal/fixtures/iface_typed_param/getter_iface_typed_param.go",
    "chars": 103,
    "preview": "package iface_typed_param\n\nimport \"io\"\n\ntype GetterIfaceTypedParam[T io.Reader] interface {\n\tGet() T\n}\n"
  },
  {
    "path": "internal/fixtures/iface_typed_param/main_test.go",
    "chars": 564,
    "preview": "package iface_typed_param\n\nimport (\n\t\"bufio\"\n\t\"net/http\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestI"
  },
  {
    "path": "internal/fixtures/iface_typed_param/mocks_testify_iface_typed_param_test.go",
    "chars": 2374,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/iface_typed_param_lowercase/getter_iface_typed_param.go",
    "chars": 102,
    "preview": "package iface_typed_param_lowercase\n\ntype GetterIfaceTypedParam[a comparable] interface {\n\tGet(a) a\n}\n"
  },
  {
    "path": "internal/fixtures/iface_typed_param_lowercase/main_test.go",
    "chars": 611,
    "preview": "package iface_typed_param_lowercase\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestIfaceWithIfa"
  },
  {
    "path": "internal/fixtures/iface_typed_param_lowercase/mocks_testify_iface_typed_param_lowercase_test.go",
    "chars": 2495,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/imports_from_nested_interface.go",
    "chars": 160,
    "preview": "package test\n\nimport (\n\t\"github.com/vektra/mockery/v3/internal/fixtures/http\"\n)\n\ntype HasConflictingNestedImports interf"
  },
  {
    "path": "internal/fixtures/imports_same_as_package.go",
    "chars": 184,
    "preview": "package test\n\nimport (\n\ttest \"github.com/vektra/mockery/v3/internal/fixtures/redefined_type_b\"\n)\n\ntype C int\n\ntype Impor"
  },
  {
    "path": "internal/fixtures/include_auto_generated/interface.go",
    "chars": 125,
    "preview": "// Code generated by random code generator; DO NOT EDIT.\n\npackage includeautogenerated\n\ntype Foo interface {\n\tBar() stri"
  },
  {
    "path": "internal/fixtures/include_auto_generated/interface_test.go",
    "chars": 225,
    "preview": "package includeautogenerated\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestIncludeAutoGenerate"
  },
  {
    "path": "internal/fixtures/include_auto_generated/mocks_testify_includeautogenerated_test.go",
    "chars": 1823,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/index_list_expr/index_list_expression.go",
    "chars": 177,
    "preview": "package index_list_expr\n\ntype GenericMultipleTypes[T1 any, T2 any, T3 any] interface {\n\tFunc(arg1 *T1, arg2 T2) T3\n}\n\nty"
  },
  {
    "path": "internal/fixtures/index_list_expr/index_list_expression_test.go",
    "chars": 447,
    "preview": "package index_list_expr\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n)\n\nfunc TestUsage(t *testing.T) {\n\t"
  },
  {
    "path": "internal/fixtures/index_list_expr/mocks_testify_index_list_expr_test.go",
    "chars": 5058,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/inpackage/interface.go",
    "chars": 100,
    "preview": "package inpackage\n\ntype InternalStringType string\n\ntype Foo interface {\n\tBar() InternalStringType\n}\n"
  },
  {
    "path": "internal/fixtures/inpackage/interface_test.go",
    "chars": 816,
    "preview": "package inpackage\n\nimport (\n\t\"os\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/tes"
  },
  {
    "path": "internal/fixtures/inpackage/subpkg/mocks_testify_inpackage_test.go",
    "chars": 1938,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/instantiated_generic_interface.go",
    "chars": 136,
    "preview": "package test\n\ntype GenericInterface[M any] interface {\n\tFunc(arg *M) int\n}\n\ntype InstantiatedGenericInterface GenericInt"
  },
  {
    "path": "internal/fixtures/instantiated_generic_struct.go",
    "chars": 182,
    "preview": "package test\n\n// Tests that mockery does not try to generate mocks for a struct type.\ntype InstantiatedStruct GenericStr"
  },
  {
    "path": "internal/fixtures/interface_dir_relative/interface.go",
    "chars": 67,
    "preview": "package interfacedirrelative\n\ntype Foo interface {\n\tBar() string\n}\n"
  },
  {
    "path": "internal/fixtures/interface_dir_relative/interface_test.go",
    "chars": 336,
    "preview": "package interfacedirrelative\n\nimport (\n\t\"testing\"\n\n\tmocks \"github.com/vektra/mockery/v3/internal/fixtures/interface_dir_"
  },
  {
    "path": "internal/fixtures/interface_dir_relative/internal/fixtures/interface_dir_relative/mocks.go",
    "chars": 1823,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/interface_dir_relative/mocks/fixtures/interface_dir_relative/mocks.go",
    "chars": 1823,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/io_import.go",
    "chars": 66,
    "preview": "package test\n\nimport \"io\"\n\ntype MyReader interface {\n\tio.Reader\n}\n"
  },
  {
    "path": "internal/fixtures/issue_766.go",
    "chars": 115,
    "preview": "package test\n\ntype Issue766 interface {\n\tFetchData(\n\t\tfetchFunc func(x ...int) ([]int, error),\n\t) ([]int, error)\n}\n"
  },
  {
    "path": "internal/fixtures/issue_766_test.go",
    "chars": 689,
    "preview": "package test\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/mock\"\n)\n\n// Asser"
  },
  {
    "path": "internal/fixtures/map_to_interface.go",
    "chars": 85,
    "preview": "package test\n\ntype MapToInterface interface {\n\tFoo(arg1 ...map[string]interface{})\n}\n"
  },
  {
    "path": "internal/fixtures/method_args/same_name_arg_and_type/entity.go",
    "chars": 386,
    "preview": "package same_name_arg_and_type\n\ntype (\n\tinterfaceA interface {\n\t\t// SomeMethod - contains args with the same names of th"
  },
  {
    "path": "internal/fixtures/method_args/same_name_arg_and_type/entity_test.go",
    "chars": 1459,
    "preview": "package same_name_arg_and_type\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify"
  },
  {
    "path": "internal/fixtures/method_args/same_name_arg_and_type/mocks_testify_same_name_arg_and_type_test.go",
    "chars": 9325,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/mock_method_uses_pkg_iface.go",
    "chars": 124,
    "preview": "package test\n\ntype Sibling interface {\n\tDoSomething()\n}\n\ntype UsesOtherPkgIface interface {\n\tDoSomethingElse(obj Sibling"
  },
  {
    "path": "internal/fixtures/mocks_io_test.go",
    "chars": 67670,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/mocks_matryer_test_test.go",
    "chars": 130693,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/mocks_net_http_test.go",
    "chars": 5008,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/mocks_testify_test_test.go",
    "chars": 171862,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/multi_template/README.md",
    "chars": 86,
    "preview": "This package tests that mockery can render different templates for the same interface."
  },
  {
    "path": "internal/fixtures/multi_template/interface.go",
    "chars": 60,
    "preview": "package multitemplate\n\ntype Foo interface {\n\tBar() string\n}\n"
  },
  {
    "path": "internal/fixtures/multi_template/interface_test.go",
    "chars": 365,
    "preview": "package multitemplate\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestFoo(t *testing.T) {\n\ttesti"
  },
  {
    "path": "internal/fixtures/multi_template/mocks_matryer_multitemplate_test.go",
    "chars": 1504,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/multi_template/mocks_testify_multitemplate_test.go",
    "chars": 1984,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: testif"
  },
  {
    "path": "internal/fixtures/nil_run.go",
    "chars": 53,
    "preview": "package test\n\ntype NilRun interface {\n\tFoo(NilRun)\n}\n"
  },
  {
    "path": "internal/fixtures/nil_run_test.go",
    "chars": 195,
    "preview": "package test\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/mock\"\n)\n\nfunc TestDoer(t *testing.T) {\n\td := NewMockNil"
  },
  {
    "path": "internal/fixtures/output_dir/interface.go",
    "chars": 203,
    "preview": "package output_dir\n\ntype OutputDirWithDifferentPkgName interface {\n\tFoo() string\n}\n\ntype OutputDirWithSamePkgNameAsSrc i"
  },
  {
    "path": "internal/fixtures/output_dir/interface_test.go",
    "chars": 1965,
    "preview": "package output_dir_test\n\nimport (\n\t\"os\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretc"
  },
  {
    "path": "internal/fixtures/output_dir/mock/mocks_matryer_output_dir_test.go",
    "chars": 2325,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/output_dir/mocks_matryer_output_dir_test.go",
    "chars": 2070,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/output_dir/output_dir/mocks_matryer_output_dir_test.go",
    "chars": 2331,
    "preview": "// TEST MOCKERY BOILERPLATE\n\n// Code generated by mockery; DO NOT EDIT.\n// github.com/vektra/mockery\n// template: matrye"
  },
  {
    "path": "internal/fixtures/panic_err.go",
    "chars": 76,
    "preview": "package test\n\ntype PanicOnNoReturnValue interface {\n\tDoSomething() string\n}\n"
  },
  {
    "path": "internal/fixtures/panic_err_test.go",
    "chars": 482,
    "preview": "package test\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/require\"\n)\n\nfunc "
  },
  {
    "path": "internal/fixtures/pkg_with_no_files/subpkg/foo.go",
    "chars": 12,
    "preview": "package foo\n"
  }
]

// ... and 98 more files (download for full content)

About this extraction

This page contains the full source code of the vektra/mockery GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 298 files (954.9 KB), approximately 309.2k tokens, and a symbol index with 2300 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!