use std::io::{self, Write};
use crate::{formatting::helpers::write_blob_hex, metadata::security::Security};
pub(super) fn format_security(
w: &mut dyn Write,
security: &Security,
indent: &str,
) -> io::Result<()> {
for perm in security.permission_set.permissions() {
writeln!(w, "{indent}// [{}]{}", perm.assembly_name, perm.class_name)?;
}
let raw = security.permission_set.raw_data();
if raw.is_empty() {
writeln!(w, "{indent}.permissionset {}", security.action)?;
} else {
writeln!(w, "{indent}.permissionset {} = (", security.action)?;
write_blob_hex(w, indent, raw)?;
writeln!(w, ")")?;
}
Ok(())
}