]> git.lizzy.rs Git - rust.git/commitdiff
save-analysis: be even more aggressive about ignorning macro-generated defs
authorNick Cameron <ncameron@mozilla.com>
Tue, 13 Nov 2018 21:56:45 +0000 (10:56 +1300)
committerNick Cameron <ncameron@mozilla.com>
Wed, 14 Nov 2018 03:52:08 +0000 (16:52 +1300)
src/librustc_save_analysis/dump_visitor.rs
src/librustc_save_analysis/span_utils.rs

index 9bc3fbe7c245a9ef3238439977640aabd963dba7..c65cd6a5ba74db826d25a55465ae57edbc9694c0 100644 (file)
@@ -658,11 +658,13 @@ fn process_impl(
         impl_items: &'l [ast::ImplItem],
     ) {
         if let Some(impl_data) = self.save_ctxt.get_item_data(item) {
-            if let super::Data::RelationData(rel, imp) = impl_data {
-                self.dumper.dump_relation(rel);
-                self.dumper.dump_impl(imp);
-            } else {
-                span_bug!(item.span, "unexpected data kind: {:?}", impl_data);
+            if !self.span.filter_generated(item.span) {
+                if let super::Data::RelationData(rel, imp) = impl_data {
+                    self.dumper.dump_relation(rel);
+                    self.dumper.dump_impl(imp);
+                } else {
+                    span_bug!(item.span, "unexpected data kind: {:?}", impl_data);
+                }
             }
         }
         self.visit_ty(&typ);
index 902353da13f76072b14da48ef182521dcd23c1fd..06b4f33b5db3e0e7b134f1fcf7be512a30efa4e4 100644 (file)
@@ -124,14 +124,10 @@ pub fn sub_span_of_token(&self, span: Span, tok: Token) -> Option<Span> {
     /// Used to filter out spans of minimal value,
     /// such as references to macro internal variables.
     pub fn filter_generated(&self, span: Span) -> bool {
-        if span.is_dummy() {
+        if generated_code(span) {
             return true;
         }
 
-        if !generated_code(span) {
-            return false;
-        }
-
         //If the span comes from a fake source_file, filter it.
         !self.sess
             .source_map()