Commit 8af57ca2 by Ian Lance Taylor

compiler: Create pointer type for all types with methods.

    
    Reviewed-on: https://go-review.googlesource.com/16522

From-SVN: r229612
parent 27776f55
85994dd0a88d1b24b2ddfc9c9ab22ee16c9e8b54 16f69a4007a1903da4055a496882b514e05f45f3
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -2064,11 +2064,15 @@ Type::type_descriptor_constructor(Gogo* gogo, int runtime_type_kind, ...@@ -2064,11 +2064,15 @@ Type::type_descriptor_constructor(Gogo* gogo, int runtime_type_kind,
++p; ++p;
go_assert(p->is_field_name("ptrToThis")); go_assert(p->is_field_name("ptrToThis"));
if (name == NULL) if (name == NULL && methods == NULL)
vals->push_back(Expression::make_nil(bloc)); vals->push_back(Expression::make_nil(bloc));
else else
{ {
Type* pt = Type::make_pointer_type(name); Type* pt;
if (name != NULL)
pt = Type::make_pointer_type(name);
else
pt = Type::make_pointer_type(this);
vals->push_back(Expression::make_type_descriptor(pt, bloc)); vals->push_back(Expression::make_type_descriptor(pt, bloc));
} }
......
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