]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #40311 - nrc:save-proc-macro-attr, r=jseyfried
authorAlex Crichton <alex@alexcrichton.com>
Fri, 10 Mar 2017 22:51:28 +0000 (16:51 -0600)
committerAlex Crichton <alex@alexcrichton.com>
Sat, 11 Mar 2017 00:18:28 +0000 (16:18 -0800)
Expect macro defs in save-analysis and add expn info to spans for att…

…r proc macros

r? @jseyfried

1  2 
src/librustc_save_analysis/dump_visitor.rs

index cbb1a3e5023638d0c60217e60d9c182dd93ada8e,33d5c17a41921f9122942da41b394c85c9f1de0f..61956e5cd9d66e4abfd1e411e7b30d1a7ccfedf8
@@@ -327,6 -327,9 +327,9 @@@ impl<'l, 'tcx: 'l, 'll, D: Dump + 'll> 
                      scope: scope
                  }.lower(self.tcx));
              }
+             // With macros 2.0, we can legitimately get a ref to a macro, but
+             // we don't handle it properly for now (FIXME).
+             Def::Macro(..) => {}
              Def::Local(..) |
              Def::Upvar(..) |
              Def::SelfTy(..) |
              Def::AssociatedTy(..) |
              Def::AssociatedConst(..) |
              Def::PrimTy(_) |
-             Def::Macro(..) |
              Def::Err => {
                 span_bug!(span,
                           "process_def_kind for unexpected item: {:?}",
                          visibility: Visibility::Inherited,
                          docs: String::new(),
                          sig: None,
 +                        attributes: vec![],
                      }.lower(self.tcx));
                  }
              }
                      visibility: vis,
                      docs: docs_for_attrs(attrs),
                      sig: method_data.sig,
 +                    attributes: attrs.to_vec(),
                  }.lower(self.tcx));
              }
  
                      parent: None,
                      docs: String::new(),
                      sig: None,
 +                    attributes: vec![],
                  }.lower(self.tcx));
              }
          }
                  visibility: vis,
                  docs: docs_for_attrs(attrs),
                  sig: None,
 +                attributes: attrs.to_vec(),
              }.lower(self.tcx));
          }
  
                  visibility: From::from(&item.vis),
                  docs: docs_for_attrs(&item.attrs),
                  sig: self.save_ctxt.sig_base(item),
 +                attributes: item.attrs.clone(),
              }.lower(self.tcx));
          }
  
                              parent: Some(make_def_id(item.id, &self.tcx.hir)),
                              docs: docs_for_attrs(&variant.node.attrs),
                              sig: sig,
 +                            attributes: variant.node.attrs.clone(),
                          }.lower(self.tcx));
                      }
                  }
                              parent: Some(make_def_id(item.id, &self.tcx.hir)),
                              docs: docs_for_attrs(&variant.node.attrs),
                              sig: sig,
 +                            attributes: variant.node.attrs.clone(),
                          }.lower(self.tcx));
                      }
                  }
                  visibility: From::from(&item.vis),
                  docs: docs_for_attrs(&item.attrs),
                  sig: self.save_ctxt.sig_base(item),
 +                attributes: item.attrs.clone(),
              }.lower(self.tcx));
          }
  
                      visibility: Visibility::Inherited,
                      docs: String::new(),
                      sig: None,
 +                    attributes: vec![],
                  }.lower(self.tcx));
              }
          }
@@@ -1314,7 -1307,6 +1316,7 @@@ impl<'l, 'tcx: 'l, 'll, D: Dump +'ll> V
                          parent: None,
                          docs: docs_for_attrs(&item.attrs),
                          sig: Some(self.save_ctxt.sig_base(item)),
 +                        attributes: item.attrs.clone(),
                      }.lower(self.tcx));
                  }
  
                              visibility: Visibility::Inherited,
                              docs: String::new(),
                              sig: None,
 +                            attributes: vec![],
                          }.lower(self.tcx));
                      }
                  }