From 0471c032bf57f77989b20f120e0250b0e295e940 Mon Sep 17 00:00:00 2001 From: Edoardo La Greca Date: Sun, 10 Aug 2025 17:07:49 +0200 Subject: move inner sub-class Permissions below constructors --- src/main/kotlin/FilePermissions.kt | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'src/main') 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). */ -- cgit v1.2.3