gitextract_b_pto6t_/ ├── .codecov.yml ├── .contributebot ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── pull_request_template.md │ └── workflows/ │ └── tests.yml ├── AUTHORS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CONTRIBUTORS ├── LICENSE ├── README.md ├── _tutorial/ │ ├── README.md │ ├── main.go │ ├── wire.go │ └── wire_gen.go ├── cmd/ │ └── wire/ │ └── main.go ├── docs/ │ ├── best-practices.md │ ├── faq.md │ └── guide.md ├── go.mod ├── go.sum ├── internal/ │ ├── alldeps │ ├── check_api_change.sh │ ├── listdeps.sh │ ├── runtests.sh │ └── wire/ │ ├── analyze.go │ ├── copyast.go │ ├── errors.go │ ├── parse.go │ ├── testdata/ │ │ ├── BindInjectorArg/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── BindInjectorArgPointer/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── BindInterfaceWithValue/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── BuildTagsAllPackages/ │ │ │ ├── bar/ │ │ │ │ ├── bar.go │ │ │ │ └── bar_inject.go │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── Chain/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── Cleanup/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── CopyOtherDecls/ │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── Cycle/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── DocComment/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── EmptyVar/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── ExampleWithMocks/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ExportedValue/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ExportedValueDifferentPackage/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── FieldsOfCycle/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── FieldsOfImportedStruct/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── baz/ │ │ │ │ └── baz.go │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── main/ │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── FieldsOfStruct/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── FieldsOfStructDoNotProvidePtrToField/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── FieldsOfStructPointer/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── FieldsOfValueStruct/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── baz/ │ │ │ │ └── baz.go │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── main/ │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── FuncArgProvider/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── Header/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── header │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ImportedInterfaceBinding/ │ │ │ ├── bar/ │ │ │ │ ├── bar.go │ │ │ │ └── wire.go │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── InjectInput/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── InjectInputConflict/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InjectWithPanic/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── InjectorMissingCleanup/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InjectorMissingError/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InterfaceBinding/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── InterfaceBindingDoesntImplement/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InterfaceBindingInvalidArg0/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InterfaceBindingNotEnoughArgs/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InterfaceBindingReuse/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── InterfaceValue/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── InterfaceValueDoesntImplement/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InterfaceValueInvalidArg0/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InterfaceValueNotEnoughArgs/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── InvalidInjector/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── MultipleArgsSameType/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── MultipleBindings/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── MultipleMissingInputs/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── MultipleSimilarPackages/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── baz/ │ │ │ │ └── baz.go │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── main/ │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── NamingWorstCase/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── NamingWorstCaseAllInOne/ │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── NiladicIdentity/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── NiladicValue/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── NoImplicitInterface/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── NoInjectParamNames/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── NoopBuild/ │ │ │ ├── foo/ │ │ │ │ └── foo.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── PartialCleanup/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── PkgImport/ │ │ │ ├── anon1/ │ │ │ │ └── anon1.go │ │ │ ├── anon2/ │ │ │ │ └── anon2.go │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ProviderSetBindingMissingConcreteType/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── RelativePkg/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ReservedKeywords/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ReturnArgumentAsInterface/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ReturnError/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── Struct/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── StructNotAStruct/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── StructPointer/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── StructWithPreventTag/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── TwoDeps/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── UnexportedStruct/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── UnexportedValue/ │ │ │ ├── bar/ │ │ │ │ └── bar.go │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── UnusedProviders/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── ValueChain/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ValueConversion/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── ValueFromFunctionScope/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── ValueIsInterfaceValue/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ └── wire_errs.txt │ │ ├── ValueIsStruct/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ ├── VarValue/ │ │ │ ├── foo/ │ │ │ │ ├── foo.go │ │ │ │ └── wire.go │ │ │ ├── pkg │ │ │ └── want/ │ │ │ ├── program_out.txt │ │ │ └── wire_gen.go │ │ └── Varargs/ │ │ ├── foo/ │ │ │ ├── foo.go │ │ │ └── wire.go │ │ ├── pkg │ │ └── want/ │ │ ├── program_out.txt │ │ └── wire_gen.go │ ├── wire.go │ └── wire_test.go └── wire.go