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