compiler: omit field name for embedded fields in reflection string
This matches the gc compiler. The test case was sent for the master repo as https://golang.org/cl/91138. Fixes golang/go#23620 Reviewed-on: https://go-review.googlesource.com/91139 From-SVN: r257300
This commit is contained in:
parent
fc876f22b3
commit
4d0bf3e1e1
|
@ -1,4 +1,4 @@
|
|||
b833695618d1a5d9d531f5ba0f9c07c7e35e0073
|
||||
023c3d4358d101c71ac1436065690eaec2ce138e
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -6417,11 +6417,11 @@ Struct_type::do_reflection(Gogo* gogo, std::string* ret) const
|
|||
if (p != this->fields_->begin())
|
||||
ret->push_back(';');
|
||||
ret->push_back(' ');
|
||||
if (p->is_anonymous())
|
||||
ret->push_back('?');
|
||||
else
|
||||
ret->append(Gogo::unpack_hidden_name(p->field_name()));
|
||||
ret->push_back(' ');
|
||||
if (!p->is_anonymous())
|
||||
{
|
||||
ret->append(Gogo::unpack_hidden_name(p->field_name()));
|
||||
ret->push_back(' ');
|
||||
}
|
||||
if (p->is_anonymous()
|
||||
&& p->type()->named_type() != NULL
|
||||
&& p->type()->named_type()->is_alias())
|
||||
|
|
|
@ -170,6 +170,14 @@ var typeTests = []pair{
|
|||
}{},
|
||||
"interface { reflect_test.a(func(func(int) int) func(func(int)) int); reflect_test.b() }",
|
||||
},
|
||||
{struct {
|
||||
x struct {
|
||||
int32
|
||||
int64
|
||||
}
|
||||
}{},
|
||||
"struct { int32; int64 }",
|
||||
},
|
||||
}
|
||||
|
||||
var valueTests = []pair{
|
||||
|
|
Loading…
Reference in New Issue