compiler: support alias to pointer type as method receiver
Fixes golang/go#28252.
Change-Id: I52e5e50d56bc89cc1297eda35bbe2874b609f53c
Reviewed-on: https://go-review.googlesource.com/c/160077
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/go/gogo.cc b/go/gogo.cc
index d0d6f3b..b03051c 100644
--- a/go/gogo.cc
+++ b/go/gogo.cc
@@ -1944,6 +1944,10 @@
go_assert(at_top_level);
Type* rtype = type->receiver()->type();
+ while (rtype->named_type() != NULL
+ && rtype->named_type()->is_alias())
+ rtype = rtype->named_type()->real_type()->forwarded();
+
// We want to look through the pointer created by the
// parser, without getting an error if the type is not yet
// defined.