diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-07-10 23:34:41 +0200 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2021-07-17 19:35:33 +0200 |
| commit | 6e78d6c9d697217998322ab626cbeee24cdfe228 (patch) | |
| tree | 0f6242e82240bc69adb48880344da2fcd555c5ab /compiler/rustc_metadata/src/rmeta/decoder | |
| parent | c2d43e132975126dda1364346db8498fbc3917b0 (diff) | |
| download | rust-6e78d6c9d697217998322ab626cbeee24cdfe228.tar.gz rust-6e78d6c9d697217998322ab626cbeee24cdfe228.zip | |
Make the CrateNum part of the ExpnId.
Diffstat (limited to 'compiler/rustc_metadata/src/rmeta/decoder')
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs b/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs index ce8dfeae076..67023e9e84e 100644 --- a/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs +++ b/compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs @@ -18,11 +18,11 @@ use rustc_middle::ty::query::Providers; use rustc_middle::ty::{self, TyCtxt, Visibility}; use rustc_session::utils::NativeLibKind; use rustc_session::{Session, StableCrateId}; +use rustc_span::hygiene::{ExpnData, ExpnHash, ExpnId}; use rustc_span::source_map::{Span, Spanned}; use rustc_span::symbol::Symbol; use rustc_data_structures::sync::Lrc; -use rustc_span::ExpnId; use smallvec::SmallVec; use std::any::Any; @@ -494,6 +494,23 @@ impl CrateStore for CStore { fn as_any(&self) -> &dyn Any { self } + fn decode_expn_data(&self, sess: &Session, expn_id: ExpnId) -> (ExpnData, ExpnHash) { + let crate_data = self.get_crate_data(expn_id.krate); + ( + crate_data + .root + .expn_data + .get(&crate_data, expn_id.local_id) + .unwrap() + .decode((&crate_data, sess)), + crate_data + .root + .expn_hashes + .get(&crate_data, expn_id.local_id) + .unwrap() + .decode((&crate_data, sess)), + ) + } fn crate_name(&self, cnum: CrateNum) -> Symbol { self.get_crate_data(cnum).root.name |
