From 0f44368c3598ff6a1d88bd7bcc98dfb67565c744 Mon Sep 17 00:00:00 2001 From: VegOwOtenks Date: Fri, 11 Jul 2025 23:12:41 +0200 Subject: [PATCH] fix: Hopefully fixed the weird last ConstantPool entry --- src/Language/Java/Classfile/Extractable.hs | 4 ++-- src/Language/Java/Classfile/FromBigEndian.hs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Language/Java/Classfile/Extractable.hs b/src/Language/Java/Classfile/Extractable.hs index 0f5d4af..e46f8ad 100644 --- a/src/Language/Java/Classfile/Extractable.hs +++ b/src/Language/Java/Classfile/Extractable.hs @@ -65,8 +65,8 @@ instance (Extractable index, Extractable element, Ix index, Integral index) => E extract :: Extract (Array index element) extract = do count <- extract - elements <- forM [1..fromIntegral count] $ \ i -> traceIndex i extract - pure $ listArray (1, count) elements + elements <- forM [1..fromIntegral count - 1] $ \ i -> traceIndex i extract + pure $ listArray (1, count - 1) elements deriving via Generically () instance Extractable () deriving via Generically (a, b) instance (Extractable a, Extractable b) => Extractable (a, b) diff --git a/src/Language/Java/Classfile/FromBigEndian.hs b/src/Language/Java/Classfile/FromBigEndian.hs index facf08c..7ca4a80 100644 --- a/src/Language/Java/Classfile/FromBigEndian.hs +++ b/src/Language/Java/Classfile/FromBigEndian.hs @@ -3,7 +3,6 @@ module Language.Java.Classfile.FromBigEndian (FromBigEndian(fromBigEndian)) wher import Data.Word (Word16, byteSwap16, Word32, byteSwap32) import GHC.ByteOrder (ByteOrder(..)) import qualified GHC.ByteOrder as GHC -import Data.Int (Int32) class FromBigEndian a where fromBigEndian :: a -> a