diff options
author | Edoardo La Greca | 2025-08-10 17:07:49 +0200 |
---|---|---|
committer | Edoardo La Greca | 2025-08-10 17:07:49 +0200 |
commit | 0471c032bf57f77989b20f120e0250b0e295e940 (patch) | |
tree | f7b6944c8df88b38a6b62078ef3f8b07122c41b7 | |
parent | 46dd60cf23faaa9892ed802e3e7cbc630d648ae4 (diff) |
move inner sub-class Permissions below constructors
-rw-r--r-- | src/main/kotlin/FilePermissions.kt | 37 |
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). */ |