Adjust pretty-print compat hack to work with item statements

This commit is contained in:
Aaron Hill 2020-11-25 11:31:22 -05:00
parent 9c9f40656d
commit baefba80b7
No known key found for this signature in database
GPG key ID: B4087E510E98B164

View file

@ -785,13 +785,20 @@ impl Nonterminal {
/// See issue #73345 for more details. /// See issue #73345 for more details.
/// FIXME(#73933): Remove this eventually. /// FIXME(#73933): Remove this eventually.
pub fn pretty_printing_compatibility_hack(&self) -> bool { pub fn pretty_printing_compatibility_hack(&self) -> bool {
if let NtItem(item) = self { let item = match self {
let name = item.ident.name; NtItem(item) => item,
if name == sym::ProceduralMasqueradeDummyType || name == sym::ProcMacroHack { NtStmt(stmt) => match &stmt.kind {
if let ast::ItemKind::Enum(enum_def, _) = &item.kind { ast::StmtKind::Item(item) => item,
if let [variant] = &*enum_def.variants { _ => return false,
return variant.ident.name == sym::Input; },
} _ => return false,
};
let name = item.ident.name;
if name == sym::ProceduralMasqueradeDummyType || name == sym::ProcMacroHack {
if let ast::ItemKind::Enum(enum_def, _) = &item.kind {
if let [variant] = &*enum_def.variants {
return variant.ident.name == sym::Input;
} }
} }
} }