, BBEnd(..)
, MapBB
, ExceptionMap
+ , JpcNpcMap
, RawMethod(..)
, TrapMap, MethodMap, ClassMap, FieldMap
, StringMap, VirtualMap, InterfaceMap
type MapBB = M.Map BlockID BasicBlock
type ExceptionMap = M.Map (Word16, Word16) [(B.ByteString, Word16)]
+-- java byte code PC -> native PC
+type JpcNpcMap = M.Map Word32 Int
+
data RawMethod = RawMethod {
rawMapBB :: MapBB,
rawExcpMap :: ExceptionMap,
-- B.ByteString = name of method
-- NativeWord = entrypoint of method
-type MethodMap = M.Map MethodInfo NativeWord
+type MethodMap = M.Map MethodInfo (NativeWord, JpcNpcMap)
data MethodInfo = MethodInfo {
methName :: B.ByteString,