compiler: Use receiver name in hash/equal for type within method.
Test case sent as https://golang.org/cl/17081. Reviewed-on: https://go-review.googlesource.com/17082 From-SVN: r230657
This commit is contained in:
parent
430002b956
commit
0b78e62cff
@ -1,4 +1,4 @@
|
||||
e3aef41ce0c5be81e2589e60d9cb0db1516e9e2d
|
||||
dfa74d975884f363c74d6a66a37b1703093fdba6
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -1769,7 +1769,16 @@ Type::specific_type_functions(Gogo* gogo, Named_type* name,
|
||||
const Named_object* in_function = name->in_function(&index);
|
||||
if (in_function != NULL)
|
||||
{
|
||||
base_name += '$' + Gogo::unpack_hidden_name(in_function->name());
|
||||
base_name.append(1, '$');
|
||||
const Typed_identifier* rcvr =
|
||||
in_function->func_value()->type()->receiver();
|
||||
if (rcvr != NULL)
|
||||
{
|
||||
Named_type* rcvr_type = rcvr->type()->deref()->named_type();
|
||||
base_name.append(Gogo::unpack_hidden_name(rcvr_type->name()));
|
||||
base_name.append(1, '$');
|
||||
}
|
||||
base_name.append(Gogo::unpack_hidden_name(in_function->name()));
|
||||
if (index > 0)
|
||||
{
|
||||
char buf[30];
|
||||
|
Loading…
Reference in New Issue
Block a user