From 08c67dfa19886cdf2db426ce9f6e84047aa2a42e Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Fri, 26 Jun 2026 09:38:18 +0200 Subject: [PATCH] Add Mago config and strict types --- mago.toml | 54 ++++++++++++++++++++++++++ src/BinaryReader.php | 11 ++++-- src/Buffer.php | 3 ++ src/Exception/EndOfStreamException.php | 3 ++ src/Exception/IOException.php | 3 ++ src/File.php | 3 ++ src/FileMode.php | 3 ++ src/LimitedResource.php | 7 ++-- src/Resource.php | 3 ++ 9 files changed, 83 insertions(+), 7 deletions(-) create mode 100644 mago.toml diff --git a/mago.toml b/mago.toml new file mode 100644 index 0000000..0076001 --- /dev/null +++ b/mago.toml @@ -0,0 +1,54 @@ +#:schema https://mago.carthage.software/1.29.0/schema.json +# Welcome to Mago! +# For full documentation, see https://mago.carthage.software/tools/overview +version = "1" +php-version = "8.0.0" + +[source] +workspace = "." +paths = ["src/"] +includes = ["vendor"] +excludes = [] + +[source.glob] +literal-separator = true + +[formatter] +preset = "pint" +preserve-breaking-member-access-chain = true +preserve-breaking-member-access-chain-first-method-on-same-line = true +preserve-breaking-argument-list = true +preserve-breaking-array-like = true +preserve-breaking-parameter-list = true +preserve-breaking-attribute-list = true +preserve-breaking-conditional-expression = true +preserve-breaking-condition-expression = true +preserve-redundant-logical-binary-expression-parentheses = true + +[linter] +integrations = ["pest"] + +[linter.rules] +ambiguous-function-call = { enabled = false } +literal-named-argument = { enabled = false } +halstead = { effort-threshold = 7000 } +no-else-clause = { enabled = false } + +[analyzer] +plugins = [] +find-unused-definitions = true +find-unused-expressions = false +analyze-dead-code = false +memoize-properties = true +allow-possibly-undefined-array-keys = true +check-throws = false +unchecked-exceptions = ["Error", "LogicException"] +unchecked-exception-classes = [] +check-missing-override = false +find-unused-parameters = false +strict-list-index-checks = false +strict-array-index-existence = false +allow-array-truthy-operand = false +no-boolean-literal-comparison = false +check-missing-type-hints = false +register-super-globals = true diff --git a/src/BinaryReader.php b/src/BinaryReader.php index e72d6bc..fe0399d 100644 --- a/src/BinaryReader.php +++ b/src/BinaryReader.php @@ -1,5 +1,8 @@ readUInt16LE(); - return $value >= 0x8000 ? $value - 0x10000 : $value; + return $value >= 0x8000 ? $value - 0x1_0000 : $value; } public function readInt16BE(): int { $value = $this->readUInt16BE(); - return $value >= 0x8000 ? $value - 0x10000 : $value; + return $value >= 0x8000 ? $value - 0x1_0000 : $value; } public function readUInt32LE(): int @@ -117,13 +120,13 @@ class BinaryReader { $value = $this->readUInt32LE(); - return $value >= 0x80000000 ? $value - 0x100000000 : $value; + return $value >= 0x8000_0000 ? $value - 0x1_0000_0000 : $value; } public function readInt32BE(): int { $value = $this->readUInt32BE(); - return $value >= 0x80000000 ? $value - 0x100000000 : $value; + return $value >= 0x8000_0000 ? $value - 0x1_0000_0000 : $value; } } diff --git a/src/Buffer.php b/src/Buffer.php index b3f89ab..cc8c4dd 100644 --- a/src/Buffer.php +++ b/src/Buffer.php @@ -1,5 +1,8 @@