summaryrefslogtreecommitdiff
path: root/src/cmd/gc/subr.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-01-21 14:51:57 -0800
committerRuss Cox <rsc@golang.org>2009-01-21 14:51:57 -0800
commitae1af64b5ab2f4f30e5c11cd39c12a7b577fc0de (patch)
treee6e5387785e7225a21f67ca7ae15473f3d926bec /src/cmd/gc/subr.c
parentae0b945bd5fa28ac4f6009465222104086a2166c (diff)
downloadgolang-ae1af64b5ab2f4f30e5c11cd39c12a7b577fc0de.tar.gz
disallow P.t for lowercase t and not our package P.
implement hiding lowercase methods m in signatures by adding in a hash of the package name to the type hash code. remove remaining checks for internally-generated _ names: they are all gone. R=ken OCL=23236 CL=23238
Diffstat (limited to 'src/cmd/gc/subr.c')
-rw-r--r--src/cmd/gc/subr.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index 40912bce6..0650a634e 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -1683,12 +1683,8 @@ eqtype(Type *t1, Type *t2, int d)
if(t1->nname != N && t1->nname->sym != S) {
if(t2->nname == N || t2->nname->sym == S)
return 0;
- if(strcmp(t1->nname->sym->name, t2->nname->sym->name) != 0) {
- // assigned names dont count
- if(t1->nname->sym->name[0] != '_' ||
- t2->nname->sym->name[0] != '_')
- return 0;
- }
+ if(strcmp(t1->nname->sym->name, t2->nname->sym->name) != 0)
+ return 0;
}
t1 = t1->down;
t2 = t2->down;
@@ -2489,7 +2485,7 @@ expand0(Type *t)
u = methtype(t);
if(u != T) {
for(f=u->method; f!=T; f=f->down) {
- if(!exportname(f->sym->name) && strcmp(f->sym->package, package) != 0)
+ if(!exportname(f->sym->name) && strcmp(f->sym->opackage, package) != 0)
continue;
if(f->sym->uniq)
continue;