From 07690e936d21e2ed25e072411926bc96fd8b692f Mon Sep 17 00:00:00 2001 From: Evgeniy Gusev <106463476+farexw@users.noreply.github.com> Date: Sun, 30 Oct 2022 14:35:01 +0300 Subject: [PATCH] Add check for nil otherTypeDef (#1372) fix bug: more than two models have the same short package name --- packages.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages.go b/packages.go index 1883e5666..ff61ef49c 100644 --- a/packages.go +++ b/packages.go @@ -140,7 +140,10 @@ func (pkgDefs *PackagesDefinitions) parseTypesFromFile(astFile *ast.File, packag anotherTypeDef, ok := pkgDefs.uniqueDefinitions[fullName] if ok { - if typeSpecDef.PkgPath != anotherTypeDef.PkgPath { + if anotherTypeDef == nil { + typeSpecDef.NotUnique = true + pkgDefs.uniqueDefinitions[typeSpecDef.TypeName()] = typeSpecDef + } else if typeSpecDef.PkgPath != anotherTypeDef.PkgPath { anotherTypeDef.NotUnique = true typeSpecDef.NotUnique = true pkgDefs.uniqueDefinitions[fullName] = nil @@ -197,7 +200,10 @@ func (pkgDefs *PackagesDefinitions) parseFunctionScopedTypesFromFile(astFile *as anotherTypeDef, ok := pkgDefs.uniqueDefinitions[fullName] if ok { - if typeSpecDef.PkgPath != anotherTypeDef.PkgPath { + if anotherTypeDef == nil { + typeSpecDef.NotUnique = true + pkgDefs.uniqueDefinitions[typeSpecDef.TypeName()] = typeSpecDef + } else if typeSpecDef.PkgPath != anotherTypeDef.PkgPath { anotherTypeDef.NotUnique = true typeSpecDef.NotUnique = true pkgDefs.uniqueDefinitions[fullName] = nil