save analysis: don't dump macro refs

This commit is contained in:
Nick Cameron 2018-10-31 11:56:11 +13:00
parent 4895deaeea
commit 435d832c5d
2 changed files with 15 additions and 13 deletions

View file

@ -92,7 +92,7 @@ pub struct DumpVisitor<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> {
// we only write one macro def per unique macro definition, and
// one macro use per unique callsite span.
// mac_defs: FxHashSet<Span>,
macro_calls: FxHashSet<Span>,
// macro_calls: FxHashSet<Span>,
}
impl<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> {
@ -108,7 +108,7 @@ impl<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> {
span: span_utils,
cur_scope: CRATE_NODE_ID,
// mac_defs: FxHashSet::default(),
macro_calls: FxHashSet::default(),
// macro_calls: FxHashSet::default(),
}
}
@ -1030,18 +1030,20 @@ impl<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> DumpVisitor<'l, 'tcx, 'll, O> {
/// If the span is not macro-generated, do nothing, else use callee and
/// callsite spans to record macro definition and use data, using the
/// mac_uses and mac_defs sets to prevent multiples.
fn process_macro_use(&mut self, span: Span) {
let source_span = span.source_callsite();
if !self.macro_calls.insert(source_span) {
return;
}
fn process_macro_use(&mut self, _span: Span) {
// FIXME if we're not dumping the defs (see below), there is no point
// dumping refs either.
// let source_span = span.source_callsite();
// if !self.macro_calls.insert(source_span) {
// return;
// }
let data = match self.save_ctxt.get_macro_use_data(span) {
None => return,
Some(data) => data,
};
// let data = match self.save_ctxt.get_macro_use_data(span) {
// None => return,
// Some(data) => data,
// };
self.dumper.macro_use(data);
// self.dumper.macro_use(data);
// FIXME write the macro def
// let mut hasher = DefaultHasher::new();

View file

@ -93,7 +93,7 @@ impl<'b, O: DumpOutput + 'b> JsonDumper<O> {
self.result.compilation = Some(data);
}
pub fn macro_use(&mut self, data: MacroRef) {
pub fn _macro_use(&mut self, data: MacroRef) {
if self.config.pub_only || self.config.reachable_only {
return;
}