compiler, reflect: Quote package path with tabs.

From-SVN: r188548
This commit is contained in:
Ian Lance Taylor 2012-06-14 05:04:04 +00:00
parent d71ec0cdd6
commit c789c04510
2 changed files with 5 additions and 5 deletions

View File

@ -8340,16 +8340,16 @@ Named_type::do_reflection(Gogo* gogo, std::string* ret) const
// -fgo-pkgpath was introduced. When -fgo-pkgpath is specified,
// we use it to make a unique reflection string, so that the
// type canonicalization in the reflect package will work. In
// order to be compatible with the gc compiler, we quote the
// package path, so that the reflect methods can discard it.
// order to be compatible with the gc compiler, we put tabs into
// the package path, so that the reflect methods can discard it.
const Package* package = this->named_object_->package();
if (gogo->pkgpath_from_option())
{
ret->push_back('"');
ret->push_back('\t');
ret->append(package != NULL
? package->pkgpath_symbol()
: gogo->pkgpath_symbol());
ret->push_back('"');
ret->push_back('\t');
}
ret->append(package != NULL
? package->package_name()

View File

@ -444,7 +444,7 @@ func (t *commonType) String() string {
r := make([]byte, len(s))
j := 0
for i := 0; i < len(s); i++ {
if s[i] == '"' {
if s[i] == '\t' {
q = !q
} else if !q {
r[j] = s[i]