diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2016-03-16 05:57:03 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2016-03-25 14:07:19 -0400 |
| commit | 2291abf313b1c619a34694e1756ddaf2a5cb34d9 (patch) | |
| tree | 9705c3b38095d9691865a32dbcacd1464f6b8d80 /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | cd5cf09635c41e3f9b6df79a50c1fb24ee855153 (diff) | |
| download | rust-2291abf313b1c619a34694e1756ddaf2a5cb34d9.tar.gz rust-2291abf313b1c619a34694e1756ddaf2a5cb34d9.zip | |
refactor item-paths in diagnostics, symbol names
This change has a few parts. We introduce a new `item_path` module for constructing item paths. The job of this module is basically to make nice, user-readable paths -- but these paths are not necessarily 100% unique. They meant to help a *human* find code, but not necessarily a compute. These paths are used to drive `item_path_str` but also symbol names. Because the paths are not unique, we also modify the symbol name hash to include the full `DefPath`, whereas before it included only those aspects of the def-path that were not included in the "informative" symbol name. Eventually, I'd like to make the item-path infrastructure a bit more declarative. Right now it's based purely on strings. In particular, for impls, we should supply the raw types to the `ItemPathBuffer`, so that symbol names can be encoded using the C++ encoding scheme for better integration with tooling.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
