This commit refactors `SourceMap` and most importantly `RealFileName` to make it self-contained in order to achieve cross-compiler consistency. This is achieved: - by making `RealFileName` immutable - by only having `SourceMap::to_real_filename` create `RealFileName` - by also making `RealFileName` holds it's working directory, it's embeddable name and the remapped scopes - by making most `FileName` and `RealFileName` methods take a scope as an argument In order for `SourceMap::to_real_filename` to know which scopes to apply `FilePathMapping` now takes the current remapping scopes to apply, which makes `FileNameDisplayPreference` and company useless and are removed. The scopes type `RemapPathScopeComponents` was moved from `rustc_session::config` to `rustc_span`. The previous system for scoping the local/remapped filenames `RemapFileNameExt::for_scope` is no longer useful as it's replaced by methods on `FileName` and `RealFileName`.
25 lines
658 B
TOML
25 lines
658 B
TOML
[package]
|
|
name = "rustc_span"
|
|
version = "0.0.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
# tidy-alphabetical-start
|
|
bitflags = "2.4.1"
|
|
blake3 = "1.5.2"
|
|
derive-where = "1.2.7"
|
|
indexmap = { version = "2.0.0" }
|
|
itoa = "1.0"
|
|
md5 = { package = "md-5", version = "0.10.0" }
|
|
rustc_arena = { path = "../rustc_arena" }
|
|
rustc_data_structures = { path = "../rustc_data_structures" }
|
|
rustc_hashes = { path = "../rustc_hashes" }
|
|
rustc_index = { path = "../rustc_index" }
|
|
rustc_macros = { path = "../rustc_macros" }
|
|
rustc_serialize = { path = "../rustc_serialize" }
|
|
scoped-tls = "1.0"
|
|
sha1 = "0.10.0"
|
|
sha2 = "0.10.1"
|
|
tracing = "0.1"
|
|
unicode-width = "0.2.0"
|
|
# tidy-alphabetical-end
|