Skip to content

Commit 143bfed

Browse files
authored
Merge pull request #788 from ikesyo/plutil-switch-type-casting
2 parents 21c5cdf + 5278ee8 commit 143bfed

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

Tools/plutil/main.swift

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -288,19 +288,20 @@ extension NSData {
288288
}
289289

290290
func displayPlist(_ plist: Any, indent: Int = 0, type: DisplayType = .primary) {
291-
if let val = plist as? Dictionary<String, Any> {
291+
switch plist {
292+
case let val as [String : Any]:
292293
val.display(indent, type: type)
293-
} else if let val = plist as? Array<Any> {
294+
case let val as [Any]:
294295
val.display(indent, type: type)
295-
} else if let val = plist as? String {
296+
case let val as String:
296297
val.display(indent, type: type)
297-
} else if let val = plist as? Bool {
298+
case let val as Bool:
298299
val.display(indent, type: type)
299-
} else if let val = plist as? NSNumber {
300+
case let val as NSNumber:
300301
val.display(indent, type: type)
301-
} else if let val = plist as? NSData {
302+
case let val as NSData:
302303
val.display(indent, type: type)
303-
} else {
304+
default:
304305
fatalError("unhandled type \(type(of: plist))")
305306
}
306307
}

0 commit comments

Comments
 (0)