diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2020-06-25 23:41:36 +0300 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2020-07-03 00:04:48 +0300 |
| commit | 874f406ffdda1533cbbc04bc8fd48e7d9da59c47 (patch) | |
| tree | 568c2521ac3216572c69ad7bb361c958e34f3e98 /src/librustc_save_analysis | |
| parent | 3503f565e1fb7296983757d2716346f48a4a262b (diff) | |
Use 'tcx for references to AccessLevels wherever possible.
Diffstat (limited to 'src/librustc_save_analysis')
| -rw-r--r-- | src/librustc_save_analysis/dump_visitor.rs | 12 | ||||
| -rw-r--r-- | src/librustc_save_analysis/lib.rs | 21 | ||||
| -rw-r--r-- | src/librustc_save_analysis/sig.rs | 74 |
3 files changed, 34 insertions, 73 deletions
diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index 38be97fc8d9..bd3724449fa 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -72,12 +72,12 @@ macro_rules! access_from_vis { }; } -pub struct DumpVisitor<'l, 'tcx> { - pub save_ctxt: SaveContext<'l, 'tcx>, +pub struct DumpVisitor<'tcx> { + pub save_ctxt: SaveContext<'tcx>, tcx: TyCtxt<'tcx>, dumper: Dumper, - span: SpanUtils<'l>, + span: SpanUtils<'tcx>, // Set of macro definition (callee) spans, and the set // of macro use (callsite) spans. We store these to ensure // we only write one macro def per unique macro definition, and @@ -86,8 +86,8 @@ pub struct DumpVisitor<'l, 'tcx> { // macro_calls: FxHashSet<Span>, } -impl<'l, 'tcx> DumpVisitor<'l, 'tcx> { - pub fn new(save_ctxt: SaveContext<'l, 'tcx>) -> DumpVisitor<'l, 'tcx> { +impl<'tcx> DumpVisitor<'tcx> { + pub fn new(save_ctxt: SaveContext<'tcx>) -> DumpVisitor<'tcx> { let span_utils = SpanUtils::new(&save_ctxt.tcx.sess); let dumper = Dumper::new(save_ctxt.config.clone()); DumpVisitor { @@ -1160,7 +1160,7 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> { } } -impl<'l, 'tcx> Visitor<'tcx> for DumpVisitor<'l, 'tcx> { +impl<'tcx> Visitor<'tcx> for DumpVisitor<'tcx> { type Map = Map<'tcx>; fn nested_visit_map(&mut self) -> intravisit::NestedVisitorMap<Self::Map> { diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index 1ac91289a86..5ecb256719f 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -48,10 +48,10 @@ use rls_data::{ use log::{debug, error, info}; -pub struct SaveContext<'l, 'tcx: 'l> { +pub struct SaveContext<'tcx> { tcx: TyCtxt<'tcx>, maybe_typeck_tables: Option<&'tcx ty::TypeckTables<'tcx>>, - access_levels: &'l AccessLevels, + access_levels: &'tcx AccessLevels, span_utils: SpanUtils<'tcx>, config: Config, impl_counter: Cell<u32>, @@ -64,7 +64,7 @@ pub enum Data { RelationData(Relation, Impl), } -impl<'l, 'tcx> SaveContext<'l, 'tcx> { +impl<'tcx> SaveContext<'tcx> { /// Gets the type-checking side-tables for the current body. /// As this will ICE if called outside bodies, only call when working with /// `Expr` or `Pat` nodes (they are guaranteed to be found only in bodies). @@ -917,7 +917,7 @@ impl<'l> Visitor<'l> for PathCollector<'l> { /// Defines what to do with the results of saving the analysis. pub trait SaveHandler { - fn save(&mut self, save_ctxt: &SaveContext<'_, '_>, analysis: &Analysis); + fn save(&mut self, save_ctxt: &SaveContext<'_>, analysis: &Analysis); } /// Dump the save-analysis results to a file. @@ -931,7 +931,7 @@ impl<'a> DumpHandler<'a> { DumpHandler { odir, cratename: cratename.to_owned() } } - fn output_file(&self, ctx: &SaveContext<'_, '_>) -> (BufWriter<File>, PathBuf) { + fn output_file(&self, ctx: &SaveContext<'_>) -> (BufWriter<File>, PathBuf) { let sess = &ctx.tcx.sess; let file_name = match ctx.config.output_file { Some(ref s) => PathBuf::from(s), @@ -967,7 +967,7 @@ impl<'a> DumpHandler<'a> { } impl SaveHandler for DumpHandler<'_> { - fn save(&mut self, save_ctxt: &SaveContext<'_, '_>, analysis: &Analysis) { + fn save(&mut self, save_ctxt: &SaveContext<'_>, analysis: &Analysis) { let sess = &save_ctxt.tcx.sess; let (output, file_name) = self.output_file(&save_ctxt); if let Err(e) = serde_json::to_writer(output, &analysis) { @@ -986,7 +986,7 @@ pub struct CallbackHandler<'b> { } impl SaveHandler for CallbackHandler<'_> { - fn save(&mut self, _: &SaveContext<'_, '_>, analysis: &Analysis) { + fn save(&mut self, _: &SaveContext<'_>, analysis: &Analysis) { (self.callback)(analysis) } } @@ -1065,7 +1065,7 @@ fn id_from_def_id(id: DefId) -> rls_data::Id { rls_data::Id { krate: id.krate.as_u32(), index: id.index.as_u32() } } -fn id_from_hir_id(id: hir::HirId, scx: &SaveContext<'_, '_>) -> rls_data::Id { +fn id_from_hir_id(id: hir::HirId, scx: &SaveContext<'_>) -> rls_data::Id { let def_id = scx.tcx.hir().opt_local_def_id(id); def_id.map(|id| id_from_def_id(id.to_def_id())).unwrap_or_else(|| { // Create a *fake* `DefId` out of a `HirId` by combining the owner @@ -1083,10 +1083,7 @@ fn null_id() -> rls_data::Id { rls_data::Id { krate: u32::MAX, index: u32::MAX } } -fn lower_attributes( - attrs: Vec<ast::Attribute>, - scx: &SaveContext<'_, '_>, -) -> Vec<rls_data::Attribute> { +fn lower_attributes(attrs: Vec<ast::Attribute>, scx: &SaveContext<'_>) -> Vec<rls_data::Attribute> { attrs .into_iter() // Only retain real attributes. Doc comments are lowered separately. diff --git a/src/librustc_save_analysis/sig.rs b/src/librustc_save_analysis/sig.rs index cd2a5deeb2d..33355c4c558 100644 --- a/src/librustc_save_analysis/sig.rs +++ b/src/librustc_save_analysis/sig.rs @@ -36,7 +36,7 @@ use rustc_hir_pretty::id_to_string; use rustc_hir_pretty::{bounds_to_string, path_segment_to_string, path_to_string, ty_to_string}; use rustc_span::symbol::{Ident, Symbol}; -pub fn item_signature(item: &hir::Item<'_>, scx: &SaveContext<'_, '_>) -> Option<Signature> { +pub fn item_signature(item: &hir::Item<'_>, scx: &SaveContext<'_>) -> Option<Signature> { if !scx.config.signatures { return None; } @@ -45,7 +45,7 @@ pub fn item_signature(item: &hir::Item<'_>, scx: &SaveContext<'_, '_>) -> Option pub fn foreign_item_signature( item: &hir::ForeignItem<'_>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Option<Signature> { if !scx.config.signatures { return None; @@ -55,10 +55,7 @@ pub fn foreign_item_signature( /// Signature for a struct or tuple field declaration. /// Does not include a trailing comma. -pub fn field_signature( - field: &hir::StructField<'_>, - scx: &SaveContext<'_, '_>, -) -> Option<Signature> { +pub fn field_signature(field: &hir::StructField<'_>, scx: &SaveContext<'_>) -> Option<Signature> { if !scx.config.signatures { return None; } @@ -66,10 +63,7 @@ pub fn field_signature( } /// Does not include a trailing comma. -pub fn variant_signature( - variant: &hir::Variant<'_>, - scx: &SaveContext<'_, '_>, -) -> Option<Signature> { +pub fn variant_signature(variant: &hir::Variant<'_>, scx: &SaveContext<'_>) -> Option<Signature> { if !scx.config.signatures { return None; } @@ -81,7 +75,7 @@ pub fn method_signature( ident: Ident, generics: &hir::Generics<'_>, m: &hir::FnSig<'_>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Option<Signature> { if !scx.config.signatures { return None; @@ -94,7 +88,7 @@ pub fn assoc_const_signature( ident: Symbol, ty: &hir::Ty<'_>, default: Option<&hir::Expr<'_>>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Option<Signature> { if !scx.config.signatures { return None; @@ -107,7 +101,7 @@ pub fn assoc_type_signature( ident: Ident, bounds: Option<hir::GenericBounds<'_>>, default: Option<&hir::Ty<'_>>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Option<Signature> { if !scx.config.signatures { return None; @@ -118,7 +112,7 @@ pub fn assoc_type_signature( type Result = std::result::Result<Signature, &'static str>; trait Sig { - fn make(&self, offset: usize, id: Option<hir::HirId>, scx: &SaveContext<'_, '_>) -> Result; + fn make(&self, offset: usize, id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result; } fn extend_sig( @@ -154,12 +148,7 @@ fn text_sig(text: String) -> Signature { } impl<'hir> Sig for hir::Ty<'hir> { - fn make( - &self, - offset: usize, - _parent_id: Option<hir::HirId>, - scx: &SaveContext<'_, '_>, - ) -> Result { + fn make(&self, offset: usize, _parent_id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { let id = Some(self.hir_id); match self.kind { hir::TyKind::Slice(ref ty) => { @@ -334,12 +323,7 @@ impl<'hir> Sig for hir::Ty<'hir> { } impl<'hir> Sig for hir::Item<'hir> { - fn make( - &self, - offset: usize, - _parent_id: Option<hir::HirId>, - scx: &SaveContext<'_, '_>, - ) -> Result { + fn make(&self, offset: usize, _parent_id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { let id = Some(self.hir_id); match self.kind { @@ -574,7 +558,7 @@ impl<'hir> Sig for hir::Item<'hir> { } impl<'hir> Sig for hir::Path<'hir> { - fn make(&self, offset: usize, id: Option<hir::HirId>, scx: &SaveContext<'_, '_>) -> Result { + fn make(&self, offset: usize, id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { let res = scx.get_path_res(id.ok_or("Missing id for Path")?); let (name, start, end) = match res { @@ -608,12 +592,7 @@ impl<'hir> Sig for hir::Path<'hir> { // This does not cover the where clause, which must be processed separately. impl<'hir> Sig for hir::Generics<'hir> { - fn make( - &self, - offset: usize, - _parent_id: Option<hir::HirId>, - scx: &SaveContext<'_, '_>, - ) -> Result { + fn make(&self, offset: usize, _parent_id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { if self.params.is_empty() { return Ok(text_sig(String::new())); } @@ -671,12 +650,7 @@ impl<'hir> Sig for hir::Generics<'hir> { } impl<'hir> Sig for hir::StructField<'hir> { - fn make( - &self, - offset: usize, - _parent_id: Option<hir::HirId>, - scx: &SaveContext<'_, '_>, - ) -> Result { + fn make(&self, offset: usize, _parent_id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { let mut text = String::new(); text.push_str(&self.ident.to_string()); @@ -696,12 +670,7 @@ impl<'hir> Sig for hir::StructField<'hir> { } impl<'hir> Sig for hir::Variant<'hir> { - fn make( - &self, - offset: usize, - parent_id: Option<hir::HirId>, - scx: &SaveContext<'_, '_>, - ) -> Result { + fn make(&self, offset: usize, parent_id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { let mut text = self.ident.to_string(); match self.data { hir::VariantData::Struct(fields, r) => { @@ -760,12 +729,7 @@ impl<'hir> Sig for hir::Variant<'hir> { } impl<'hir> Sig for hir::ForeignItem<'hir> { - fn make( - &self, - offset: usize, - _parent_id: Option<hir::HirId>, - scx: &SaveContext<'_, '_>, - ) -> Result { + fn make(&self, offset: usize, _parent_id: Option<hir::HirId>, scx: &SaveContext<'_>) -> Result { let id = Some(self.hir_id); match self.kind { hir::ForeignItemKind::Fn(decl, _, ref generics) => { @@ -839,7 +803,7 @@ fn name_and_generics( generics: &hir::Generics<'_>, id: hir::HirId, name: Ident, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Result { let name = name.to_string(); let def = SigElement { @@ -859,7 +823,7 @@ fn make_assoc_type_signature( ident: Ident, bounds: Option<hir::GenericBounds<'_>>, default: Option<&hir::Ty<'_>>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Result { let mut text = "type ".to_owned(); let name = ident.to_string(); @@ -891,7 +855,7 @@ fn make_assoc_const_signature( ident: Symbol, ty: &hir::Ty<'_>, default: Option<&hir::Expr<'_>>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Result { let mut text = "const ".to_owned(); let name = ident.to_string(); @@ -922,7 +886,7 @@ fn make_method_signature( ident: Ident, generics: &hir::Generics<'_>, m: &hir::FnSig<'_>, - scx: &SaveContext<'_, '_>, + scx: &SaveContext<'_>, ) -> Result { // FIXME code dup with function signature let mut text = String::new(); |
