@@ -28,6 +28,7 @@ module, plus additional functionality) instead.
28
28
{-# LANGUAGE StandaloneDeriving #-}
29
29
{-# LANGUAGE TemplateHaskell #-}
30
30
{-# LANGUAGE TypeFamilies #-}
31
+ {-# LANGUAGE UndecidableInstances #-}
31
32
{-# LANGUAGE ViewPatterns #-}
32
33
33
34
module SAWScript.Crucible.JVM.Setup.Value
@@ -47,6 +48,8 @@ module SAWScript.Crucible.JVM.Setup.Value
47
48
, jccJVMContext
48
49
, jccBackend
49
50
, jccHandleAllocator
51
+
52
+ , JVMRefVal
50
53
) where
51
54
52
55
import Control.Lens
@@ -55,6 +58,7 @@ import qualified Prettyprinter as PPL
55
58
import qualified Lang.Crucible.FunctionHandle as Crucible (HandleAllocator )
56
59
57
60
-- crucible-jvm
61
+ import qualified Lang.Crucible.Simulator as CS
58
62
import qualified Lang.Crucible.JVM as CJ
59
63
import qualified Lang.JVM.Codebase as CB
60
64
@@ -65,7 +69,7 @@ import qualified Language.JVM.Parser as J
65
69
import Verifier.SAW.TypedTerm (TypedTerm )
66
70
67
71
import SAWScript.Crucible.Common
68
- import qualified SAWScript.Crucible.Common.MethodSpec as MS
72
+ import qualified SAWScript.Crucible.Common.Setup.Value as MS
69
73
70
74
--------------------------------------------------------------------------------
71
75
-- ** Language features
@@ -148,3 +152,10 @@ data JVMCrucibleContext =
148
152
makeLenses ''JVMCrucibleContext
149
153
150
154
type instance MS. CrucibleContext CJ. JVM = JVMCrucibleContext
155
+
156
+ --------------------------------------------------------------------------------
157
+ -- *** Pointers
158
+
159
+ type instance MS. Pointer' CJ. JVM Sym = JVMRefVal
160
+
161
+ type JVMRefVal = CS. RegValue Sym CJ. JVMRefType
0 commit comments