Remove obsolete MacroDef
variant of OwnerNode
This commit is contained in:
parent
8c62fa0575
commit
0299ed8bbb
4 changed files with 6 additions and 43 deletions
|
@ -740,7 +740,7 @@ impl Crate<'_> {
|
||||||
OwnerNode::ForeignItem(item) => visitor.visit_foreign_item(item),
|
OwnerNode::ForeignItem(item) => visitor.visit_foreign_item(item),
|
||||||
OwnerNode::ImplItem(item) => visitor.visit_impl_item(item),
|
OwnerNode::ImplItem(item) => visitor.visit_impl_item(item),
|
||||||
OwnerNode::TraitItem(item) => visitor.visit_trait_item(item),
|
OwnerNode::TraitItem(item) => visitor.visit_trait_item(item),
|
||||||
OwnerNode::MacroDef(_) | OwnerNode::Crate(_) => {}
|
OwnerNode::Crate(_) => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -755,7 +755,7 @@ impl Crate<'_> {
|
||||||
Some(OwnerNode::ForeignItem(item)) => visitor.visit_foreign_item(item),
|
Some(OwnerNode::ForeignItem(item)) => visitor.visit_foreign_item(item),
|
||||||
Some(OwnerNode::ImplItem(item)) => visitor.visit_impl_item(item),
|
Some(OwnerNode::ImplItem(item)) => visitor.visit_impl_item(item),
|
||||||
Some(OwnerNode::TraitItem(item)) => visitor.visit_trait_item(item),
|
Some(OwnerNode::TraitItem(item)) => visitor.visit_trait_item(item),
|
||||||
Some(OwnerNode::MacroDef(_)) | Some(OwnerNode::Crate(_)) | None => {}
|
Some(OwnerNode::Crate(_)) | None => {}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2970,7 +2970,6 @@ pub enum OwnerNode<'hir> {
|
||||||
ForeignItem(&'hir ForeignItem<'hir>),
|
ForeignItem(&'hir ForeignItem<'hir>),
|
||||||
TraitItem(&'hir TraitItem<'hir>),
|
TraitItem(&'hir TraitItem<'hir>),
|
||||||
ImplItem(&'hir ImplItem<'hir>),
|
ImplItem(&'hir ImplItem<'hir>),
|
||||||
MacroDef(&'hir MacroDef<'hir>),
|
|
||||||
Crate(&'hir Mod<'hir>),
|
Crate(&'hir Mod<'hir>),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2980,8 +2979,7 @@ impl<'hir> OwnerNode<'hir> {
|
||||||
OwnerNode::Item(Item { ident, .. })
|
OwnerNode::Item(Item { ident, .. })
|
||||||
| OwnerNode::ForeignItem(ForeignItem { ident, .. })
|
| OwnerNode::ForeignItem(ForeignItem { ident, .. })
|
||||||
| OwnerNode::ImplItem(ImplItem { ident, .. })
|
| OwnerNode::ImplItem(ImplItem { ident, .. })
|
||||||
| OwnerNode::TraitItem(TraitItem { ident, .. })
|
| OwnerNode::TraitItem(TraitItem { ident, .. }) => Some(*ident),
|
||||||
| OwnerNode::MacroDef(MacroDef { ident, .. }) => Some(*ident),
|
|
||||||
OwnerNode::Crate(..) => None,
|
OwnerNode::Crate(..) => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2992,7 +2990,6 @@ impl<'hir> OwnerNode<'hir> {
|
||||||
| OwnerNode::ForeignItem(ForeignItem { span, .. })
|
| OwnerNode::ForeignItem(ForeignItem { span, .. })
|
||||||
| OwnerNode::ImplItem(ImplItem { span, .. })
|
| OwnerNode::ImplItem(ImplItem { span, .. })
|
||||||
| OwnerNode::TraitItem(TraitItem { span, .. })
|
| OwnerNode::TraitItem(TraitItem { span, .. })
|
||||||
| OwnerNode::MacroDef(MacroDef { span, .. })
|
|
||||||
| OwnerNode::Crate(Mod { inner: span, .. }) => *span,
|
| OwnerNode::Crate(Mod { inner: span, .. }) => *span,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3036,8 +3033,7 @@ impl<'hir> OwnerNode<'hir> {
|
||||||
OwnerNode::Item(Item { def_id, .. })
|
OwnerNode::Item(Item { def_id, .. })
|
||||||
| OwnerNode::TraitItem(TraitItem { def_id, .. })
|
| OwnerNode::TraitItem(TraitItem { def_id, .. })
|
||||||
| OwnerNode::ImplItem(ImplItem { def_id, .. })
|
| OwnerNode::ImplItem(ImplItem { def_id, .. })
|
||||||
| OwnerNode::ForeignItem(ForeignItem { def_id, .. })
|
| OwnerNode::ForeignItem(ForeignItem { def_id, .. }) => *def_id,
|
||||||
| OwnerNode::MacroDef(MacroDef { def_id, .. }) => *def_id,
|
|
||||||
OwnerNode::Crate(..) => crate::CRATE_HIR_ID.owner,
|
OwnerNode::Crate(..) => crate::CRATE_HIR_ID.owner,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3069,13 +3065,6 @@ impl<'hir> OwnerNode<'hir> {
|
||||||
_ => panic!(),
|
_ => panic!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn expect_macro_def(self) -> &'hir MacroDef<'hir> {
|
|
||||||
match self {
|
|
||||||
OwnerNode::MacroDef(n) => n,
|
|
||||||
_ => panic!(),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'hir> Into<OwnerNode<'hir>> for &'hir Item<'hir> {
|
impl<'hir> Into<OwnerNode<'hir>> for &'hir Item<'hir> {
|
||||||
|
@ -3102,12 +3091,6 @@ impl<'hir> Into<OwnerNode<'hir>> for &'hir TraitItem<'hir> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'hir> Into<OwnerNode<'hir>> for &'hir MacroDef<'hir> {
|
|
||||||
fn into(self) -> OwnerNode<'hir> {
|
|
||||||
OwnerNode::MacroDef(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<'hir> Into<Node<'hir>> for OwnerNode<'hir> {
|
impl<'hir> Into<Node<'hir>> for OwnerNode<'hir> {
|
||||||
fn into(self) -> Node<'hir> {
|
fn into(self) -> Node<'hir> {
|
||||||
match self {
|
match self {
|
||||||
|
@ -3115,7 +3098,6 @@ impl<'hir> Into<Node<'hir>> for OwnerNode<'hir> {
|
||||||
OwnerNode::ForeignItem(n) => Node::ForeignItem(n),
|
OwnerNode::ForeignItem(n) => Node::ForeignItem(n),
|
||||||
OwnerNode::ImplItem(n) => Node::ImplItem(n),
|
OwnerNode::ImplItem(n) => Node::ImplItem(n),
|
||||||
OwnerNode::TraitItem(n) => Node::TraitItem(n),
|
OwnerNode::TraitItem(n) => Node::TraitItem(n),
|
||||||
OwnerNode::MacroDef(n) => Node::MacroDef(n),
|
|
||||||
OwnerNode::Crate(n) => Node::Crate(n),
|
OwnerNode::Crate(n) => Node::Crate(n),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3141,7 +3123,6 @@ pub enum Node<'hir> {
|
||||||
Arm(&'hir Arm<'hir>),
|
Arm(&'hir Arm<'hir>),
|
||||||
Block(&'hir Block<'hir>),
|
Block(&'hir Block<'hir>),
|
||||||
Local(&'hir Local<'hir>),
|
Local(&'hir Local<'hir>),
|
||||||
MacroDef(&'hir MacroDef<'hir>),
|
|
||||||
|
|
||||||
/// `Ctor` refers to the constructor of an enum variant or struct. Only tuple or unit variants
|
/// `Ctor` refers to the constructor of an enum variant or struct. Only tuple or unit variants
|
||||||
/// with synthesized constructors.
|
/// with synthesized constructors.
|
||||||
|
@ -3178,7 +3159,6 @@ impl<'hir> Node<'hir> {
|
||||||
| Node::ForeignItem(ForeignItem { ident, .. })
|
| Node::ForeignItem(ForeignItem { ident, .. })
|
||||||
| Node::Field(FieldDef { ident, .. })
|
| Node::Field(FieldDef { ident, .. })
|
||||||
| Node::Variant(Variant { ident, .. })
|
| Node::Variant(Variant { ident, .. })
|
||||||
| Node::MacroDef(MacroDef { ident, .. })
|
|
||||||
| Node::Item(Item { ident, .. })
|
| Node::Item(Item { ident, .. })
|
||||||
| Node::PathSegment(PathSegment { ident, .. }) => Some(*ident),
|
| Node::PathSegment(PathSegment { ident, .. }) => Some(*ident),
|
||||||
Node::Lifetime(lt) => Some(lt.name.ident()),
|
Node::Lifetime(lt) => Some(lt.name.ident()),
|
||||||
|
@ -3239,8 +3219,7 @@ impl<'hir> Node<'hir> {
|
||||||
Node::Item(Item { def_id, .. })
|
Node::Item(Item { def_id, .. })
|
||||||
| Node::TraitItem(TraitItem { def_id, .. })
|
| Node::TraitItem(TraitItem { def_id, .. })
|
||||||
| Node::ImplItem(ImplItem { def_id, .. })
|
| Node::ImplItem(ImplItem { def_id, .. })
|
||||||
| Node::ForeignItem(ForeignItem { def_id, .. })
|
| Node::ForeignItem(ForeignItem { def_id, .. }) => Some(HirId::make_owner(*def_id)),
|
||||||
| Node::MacroDef(MacroDef { def_id, .. }) => Some(HirId::make_owner(*def_id)),
|
|
||||||
Node::Field(FieldDef { hir_id, .. })
|
Node::Field(FieldDef { hir_id, .. })
|
||||||
| Node::AnonConst(AnonConst { hir_id, .. })
|
| Node::AnonConst(AnonConst { hir_id, .. })
|
||||||
| Node::Expr(Expr { hir_id, .. })
|
| Node::Expr(Expr { hir_id, .. })
|
||||||
|
@ -3300,7 +3279,6 @@ impl<'hir> Node<'hir> {
|
||||||
Node::ForeignItem(i) => Some(OwnerNode::ForeignItem(i)),
|
Node::ForeignItem(i) => Some(OwnerNode::ForeignItem(i)),
|
||||||
Node::TraitItem(i) => Some(OwnerNode::TraitItem(i)),
|
Node::TraitItem(i) => Some(OwnerNode::TraitItem(i)),
|
||||||
Node::ImplItem(i) => Some(OwnerNode::ImplItem(i)),
|
Node::ImplItem(i) => Some(OwnerNode::ImplItem(i)),
|
||||||
Node::MacroDef(i) => Some(OwnerNode::MacroDef(i)),
|
|
||||||
Node::Crate(i) => Some(OwnerNode::Crate(i)),
|
Node::Crate(i) => Some(OwnerNode::Crate(i)),
|
||||||
_ => None,
|
_ => None,
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,6 @@ impl<'a> State<'a> {
|
||||||
// printing.
|
// printing.
|
||||||
Node::Ctor(..) => panic!("cannot print isolated Ctor"),
|
Node::Ctor(..) => panic!("cannot print isolated Ctor"),
|
||||||
Node::Local(a) => self.print_local_decl(&a),
|
Node::Local(a) => self.print_local_decl(&a),
|
||||||
Node::MacroDef(_) => panic!("cannot print MacroDef"),
|
|
||||||
Node::Crate(..) => panic!("cannot print Crate"),
|
Node::Crate(..) => panic!("cannot print Crate"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -266,7 +266,6 @@ impl<'hir> Map<'hir> {
|
||||||
ExprKind::Closure(.., Some(_)) => DefKind::Generator,
|
ExprKind::Closure(.., Some(_)) => DefKind::Generator,
|
||||||
_ => bug!("def_kind: unsupported node: {}", self.node_to_string(hir_id)),
|
_ => bug!("def_kind: unsupported node: {}", self.node_to_string(hir_id)),
|
||||||
},
|
},
|
||||||
Node::MacroDef(_) => DefKind::Macro(MacroKind::Bang),
|
|
||||||
Node::GenericParam(param) => match param.kind {
|
Node::GenericParam(param) => match param.kind {
|
||||||
GenericParamKind::Lifetime { .. } => DefKind::LifetimeParam,
|
GenericParamKind::Lifetime { .. } => DefKind::LifetimeParam,
|
||||||
GenericParamKind::Type { .. } => DefKind::TyParam,
|
GenericParamKind::Type { .. } => DefKind::TyParam,
|
||||||
|
@ -636,8 +635,6 @@ impl<'hir> Map<'hir> {
|
||||||
/// in a module, trait, or impl.
|
/// in a module, trait, or impl.
|
||||||
pub fn get_parent_item(&self, hir_id: HirId) -> HirId {
|
pub fn get_parent_item(&self, hir_id: HirId) -> HirId {
|
||||||
if let Some((hir_id, _node)) = self.parent_owner_iter(hir_id).next() {
|
if let Some((hir_id, _node)) = self.parent_owner_iter(hir_id).next() {
|
||||||
// A MacroDef does not have children.
|
|
||||||
debug_assert!(!matches!(_node, OwnerNode::MacroDef(_)));
|
|
||||||
hir_id
|
hir_id
|
||||||
} else {
|
} else {
|
||||||
CRATE_HIR_ID
|
CRATE_HIR_ID
|
||||||
|
@ -765,13 +762,6 @@ impl<'hir> Map<'hir> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn expect_macro_def(&self, id: HirId) -> &'hir MacroDef<'hir> {
|
|
||||||
match self.tcx.hir_owner(id.expect_owner()) {
|
|
||||||
Some(Owner { node: OwnerNode::MacroDef(macro_def) }) => macro_def,
|
|
||||||
_ => bug!("expected macro def, found {}", self.node_to_string(id)),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn expect_expr(&self, id: HirId) -> &'hir Expr<'hir> {
|
pub fn expect_expr(&self, id: HirId) -> &'hir Expr<'hir> {
|
||||||
match self.find(id) {
|
match self.find(id) {
|
||||||
Some(Node::Expr(expr)) => expr,
|
Some(Node::Expr(expr)) => expr,
|
||||||
|
@ -791,7 +781,6 @@ impl<'hir> Map<'hir> {
|
||||||
Node::GenericParam(param) => param.name.ident().name,
|
Node::GenericParam(param) => param.name.ident().name,
|
||||||
Node::Binding(&Pat { kind: PatKind::Binding(_, _, l, _), .. }) => l.name,
|
Node::Binding(&Pat { kind: PatKind::Binding(_, _, l, _), .. }) => l.name,
|
||||||
Node::Ctor(..) => self.name(self.get_parent_item(id)),
|
Node::Ctor(..) => self.name(self.get_parent_item(id)),
|
||||||
Node::MacroDef(md) => md.ident.name,
|
|
||||||
_ => return None,
|
_ => return None,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -858,7 +847,6 @@ impl<'hir> Map<'hir> {
|
||||||
Node::Infer(i) => i.span,
|
Node::Infer(i) => i.span,
|
||||||
Node::Visibility(v) => bug!("unexpected Visibility {:?}", v),
|
Node::Visibility(v) => bug!("unexpected Visibility {:?}", v),
|
||||||
Node::Local(local) => local.span,
|
Node::Local(local) => local.span,
|
||||||
Node::MacroDef(macro_def) => macro_def.span,
|
|
||||||
Node::Crate(item) => item.inner,
|
Node::Crate(item) => item.inner,
|
||||||
};
|
};
|
||||||
Some(span)
|
Some(span)
|
||||||
|
@ -1109,7 +1097,6 @@ fn hir_id_to_string(map: &Map<'_>, id: HirId) -> String {
|
||||||
Some(Node::Lifetime(_)) => node_str("lifetime"),
|
Some(Node::Lifetime(_)) => node_str("lifetime"),
|
||||||
Some(Node::GenericParam(ref param)) => format!("generic_param {:?}{}", param, id_str),
|
Some(Node::GenericParam(ref param)) => format!("generic_param {:?}{}", param, id_str),
|
||||||
Some(Node::Visibility(ref vis)) => format!("visibility {:?}{}", vis, id_str),
|
Some(Node::Visibility(ref vis)) => format!("visibility {:?}{}", vis, id_str),
|
||||||
Some(Node::MacroDef(_)) => format!("macro {}{}", path_str(), id_str),
|
|
||||||
Some(Node::Crate(..)) => String::from("root_crate"),
|
Some(Node::Crate(..)) => String::from("root_crate"),
|
||||||
None => format!("unknown node{}", id_str),
|
None => format!("unknown node{}", id_str),
|
||||||
}
|
}
|
||||||
|
|
|
@ -310,8 +310,7 @@ impl<'tcx> ReachableContext<'tcx> {
|
||||||
| Node::Ctor(..)
|
| Node::Ctor(..)
|
||||||
| Node::Field(_)
|
| Node::Field(_)
|
||||||
| Node::Ty(_)
|
| Node::Ty(_)
|
||||||
| Node::Crate(_)
|
| Node::Crate(_) => {}
|
||||||
| Node::MacroDef(_) => {}
|
|
||||||
_ => {
|
_ => {
|
||||||
bug!(
|
bug!(
|
||||||
"found unexpected node kind in worklist: {} ({:?})",
|
"found unexpected node kind in worklist: {} ({:?})",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue