summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ir/item.rs25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/ir/item.rs b/src/ir/item.rs
index 9375c798..4e0ba80b 100644
--- a/src/ir/item.rs
+++ b/src/ir/item.rs
@@ -1063,18 +1063,19 @@ impl Item {
/// Returns a prefix for the canonical name when C naming is enabled.
fn c_naming_prefix(&self) -> Option<&str> {
- if let ItemKind::Type(typ) = &self.kind {
- match typ.kind() {
- TypeKind::Comp(comp_info) => match comp_info.kind() {
- CompKind::Struct => Some("struct"),
- CompKind::Union => Some("union"),
- },
- TypeKind::Enum(_) => Some("enum"),
- _ => None,
- }
- } else {
- None
- }
+ let ty = match self.kind {
+ ItemKind::Type(ref ty) => ty,
+ _ => return None,
+ };
+
+ Some(match ty.kind() {
+ TypeKind::Comp(ref ci) => match ci.kind() {
+ CompKind::Struct => "struct",
+ CompKind::Union => "union",
+ },
+ TypeKind::Enum(..) => "enum",
+ _ => return None,
+ })
}
}