Commit 20137eb4 authored by Rémy Oudompheng's avatar Rémy Oudompheng Committed by Russ Cox

cmd/gc: preserve qualified names of unexported methods in imports.

Fixes #6295.

LGTM=rsc
R=golang-codereviews, rsc
CC=golang-codereviews
https://golang.org/cl/20850043
parent 062ae457
......@@ -941,8 +941,6 @@ interfacefield(Node *n)
f->nname = n->left;
f->embedded = n->embedded;
f->sym = f->nname->sym;
if(importpkg && !exportname(f->sym->name))
f->sym = pkglookup(f->sym->name, structpkg);
}
} else {
......
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package p0
type T0 interface {
m0()
}
type S0 struct{}
func (S0) m0() {}
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package p1
import "./p0"
type T1 interface {
p0.T0
m1()
}
type S1 struct {
p0.S0
}
func (S1) m1() {}
func NewT0() p0.T0 {
return S1{}
}
func NewT1() T1 {
return S1{}
}
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"./p0"
"./p1"
)
var (
_ p0.T0 = p0.S0{}
_ p0.T0 = p1.S1{}
_ p0.T0 = p1.NewT0()
_ p0.T0 = p1.NewT1() // same as p1.S1{}
)
func main() {}
// compiledir
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 6295: qualified name of unexported methods
// is corrupted during import.
package ignored
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment