mirror of
https://github.com/golang/go
synced 2024-09-15 22:20:06 +00:00
cmd/compile: remove base.Ctxt.Pkgpath fallback paths
Historically, the compiler set types.LocalPkg.Path to "", so a lot of compiler code checks for this, and then falls back to using base.Ctxt.Pkgpath instead. Since CL 393715, we now initialize types.LocalPkg.Path to base.Ctxt.Pkgpath, so these code paths can now simply rely on Pkg.Path always being meaningful. Updates #51734. Change-Id: I0aedbd7cf8e14edbfef781106a9510344d468f2c Reviewed-on: https://go-review.googlesource.com/c/go/+/406317 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Matthew Dempsky <mdempsky@google.com> Auto-Submit: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
99d63007a0
commit
2540f4e49d
|
@ -169,7 +169,7 @@ func Task() *ir.Name {
|
|||
fns = append(fns, fn.Nname.Linksym())
|
||||
}
|
||||
|
||||
if len(deps) == 0 && len(fns) == 0 && types.LocalPkg.Name != "main" && types.LocalPkg.Name != "runtime" {
|
||||
if len(deps) == 0 && len(fns) == 0 && types.LocalPkg.Path != "main" && types.LocalPkg.Path != "runtime" {
|
||||
return nil // nothing to initialize
|
||||
}
|
||||
|
||||
|
|
|
@ -4760,9 +4760,6 @@ func findIntrinsic(sym *types.Sym) intrinsicBuilder {
|
|||
return nil
|
||||
}
|
||||
pkg := sym.Pkg.Path
|
||||
if sym.Pkg == types.LocalPkg {
|
||||
pkg = base.Ctxt.Pkgpath
|
||||
}
|
||||
if sym.Pkg == ir.Pkgs.Runtime {
|
||||
pkg = "runtime"
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ func embedFileList(v *ir.Name, kind int) []string {
|
|||
|
||||
// embedKind determines the kind of embedding variable.
|
||||
func embedKind(typ *types.Type) int {
|
||||
if typ.Sym() != nil && typ.Sym().Name == "FS" && (typ.Sym().Pkg.Path == "embed" || (typ.Sym().Pkg == types.LocalPkg && base.Ctxt.Pkgpath == "embed")) {
|
||||
if typ.Sym() != nil && typ.Sym().Name == "FS" && typ.Sym().Pkg.Path == "embed" {
|
||||
return embedFiles
|
||||
}
|
||||
if typ.Kind() == types.TSTRING {
|
||||
|
|
|
@ -2088,9 +2088,6 @@ func IsRuntimePkg(p *Pkg) bool {
|
|||
|
||||
// IsReflectPkg reports whether p is package reflect.
|
||||
func IsReflectPkg(p *Pkg) bool {
|
||||
if p == LocalPkg {
|
||||
return base.Ctxt.Pkgpath == "reflect"
|
||||
}
|
||||
return p.Path == "reflect"
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue