summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdoardo La Greca2025-08-10 17:07:49 +0200
committerEdoardo La Greca2025-08-10 17:07:49 +0200
commit0471c032bf57f77989b20f120e0250b0e295e940 (patch)
treef7b6944c8df88b38a6b62078ef3f8b07122c41b7
parent46dd60cf23faaa9892ed802e3e7cbc630d648ae4 (diff)
move inner sub-class Permissions below constructors
-rw-r--r--src/main/kotlin/FilePermissions.kt37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/main/kotlin/FilePermissions.kt b/src/main/kotlin/FilePermissions.kt
index ce25d23..c34c7d6 100644
--- a/src/main/kotlin/FilePermissions.kt
+++ b/src/main/kotlin/FilePermissions.kt
@@ -25,24 +25,6 @@ class FilePermissions {
private val DIRECTORY_BIT: UInt = 0x80000000u
- enum class Permissions(val bits: UByte) {
- READ(0x4u),
- WRITE(0x2u),
- EXECUTE(0x1u),
- READ_WRITE(READ.bits.or(WRITE.bits)),
- READ_EXECUTE(READ.bits.or(EXECUTE.bits)),
- WRITE_EXECUTE(WRITE.bits.or(EXECUTE.bits)),
- READ_WRITE_EXECUTE(READ.bits.or(WRITE.bits.or(EXECUTE.bits)));
-
- companion object {
- /**
- * Obtain a [Permissions] instance by matching its value.
- *
- * @throws NoSuchElementException if no such element has the provided value.
- */
- fun fromByte(bits: UByte) = Permissions.entries.first { it.bits == bits }
- }
- }
/**
* Constructor for file permissions with separate fields.
@@ -75,6 +57,25 @@ class FilePermissions {
this.elsePerms = Permissions.fromByte(raw[3])
}
+ enum class Permissions(val bits: UByte) {
+ READ(0x4u),
+ WRITE(0x2u),
+ EXECUTE(0x1u),
+ READ_WRITE(READ.bits.or(WRITE.bits)),
+ READ_EXECUTE(READ.bits.or(EXECUTE.bits)),
+ WRITE_EXECUTE(WRITE.bits.or(EXECUTE.bits)),
+ READ_WRITE_EXECUTE(READ.bits.or(WRITE.bits.or(EXECUTE.bits)));
+
+ companion object {
+ /**
+ * Obtain a [Permissions] instance by matching its value.
+ *
+ * @throws NoSuchElementException if no such element has the provided value.
+ */
+ fun fromByte(bits: UByte) = Permissions.entries.first { it.bits == bits }
+ }
+ }
+
/**
* Turn the permissions described by the [FilePermissions] fields into a permission integer (4 bytes).
*/