summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
authorRahat Mahmood <rahat@google.com>2020-04-01 00:42:34 -0700
committergVisor bot <gvisor-bot@google.com>2020-04-01 00:43:55 -0700
commit507f997213d4b6778c5da982dd447044b769e7b9 (patch)
tree5da2ec5b38eb2f4fe7baf0978a00947d66754b75 /pkg
parent840980aeba0b5224b13bcaadf5785ac5305a5230 (diff)
go-marshal: Improve collision detection of import statments.
Previously, the import statement collision detection mechanism aborted go-marshal whenever it detected two imports in any package that has the same local name. Consider this trivial package, defined by the the following two source files: file1.go: package example import ( path/a/to/foo ) ... file2.go: package example import ( another/package/with/final/component/foo ) ... Go-marshal previously couldn't handle generating code for the the above package, even if none of the types marked for marshalling used either of the imported foo packages. This turns out to be too restrictive as we run into this a lot in practice. Examples include "encoding/binary" vs "gvisor/pkg/binary/binary", and "sync" vs "gvisor/pkg/sync/sync". This change allows go-marshal to proceed with marshalling, and only abort if the code generated by go-marshal references any such ambiguous import names. PiperOrigin-RevId: 304131190
Diffstat (limited to 'pkg')
0 files changed, 0 insertions, 0 deletions