cl: pathOf(pkg)

This commit is contained in:
xushiwei
2024-04-25 14:30:02 +08:00
parent 1014fa53dd
commit 0f00add402
2 changed files with 10 additions and 7 deletions

View File

@@ -379,7 +379,7 @@ func NewPackage(prog llssa.Program, pkg *ssa.Package, files []*ast.File) (ret ll
}) })
pkgTypes := pkg.Pkg pkgTypes := pkg.Pkg
pkgName, pkgPath := pkgTypes.Name(), pkgTypes.Path() pkgName, pkgPath := pkgTypes.Name(), pathOf(pkgTypes)
ret = prog.NewPackage(pkgName, pkgPath) ret = prog.NewPackage(pkgName, pkgPath)
ctx := &context{ ctx := &context{

View File

@@ -51,7 +51,7 @@ func (p *context) importPkg(pkg *types.Package) {
fset := p.fset fset := p.fset
names := scope.Names() names := scope.Names()
contents := make(contentMap) contents := make(contentMap)
pkgPath := pkg.Path() pkgPath := pathOf(pkg)
for _, name := range names { for _, name := range names {
if token.IsExported(name) { if token.IsExported(name) {
obj := scope.Lookup(name) obj := scope.Lookup(name)
@@ -105,12 +105,15 @@ func (p *context) initLinkname(pkgPath, line string) {
} }
} }
func fullName(pkg *types.Package, name string) string { func pathOf(pkg *types.Package) string {
pkgPath := pkg.Name() if pkg.Name() == "main" {
if pkgPath != "main" { return "main"
pkgPath = pkg.Path()
} }
return pkgPath + "." + name return pkg.Path()
}
func fullName(pkg *types.Package, name string) string {
return pathOf(pkg) + "." + name
} }
func funcName(pkg *types.Package, fn *ssa.Function) string { func funcName(pkg *types.Package, fn *ssa.Function) string {