Add basic serialize implementations
This commit is contained in:
parent
25bbd24339
commit
ca38133b06
1 changed files with 36 additions and 0 deletions
|
|
@ -24,6 +24,42 @@
|
||||||
[obj type segment scope]
|
[obj type segment scope]
|
||||||
type))
|
type))
|
||||||
|
|
||||||
|
(defmethod serialize* ::byte
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setByte segment (byte obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::short
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setShort segment (short obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::int
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setInt segment (int obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::long
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setLong segment (long obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::long-long
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setLong segment (long obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::char
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setChar segment (char obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::float
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setFloat segment (float obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::double
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setDouble segment (double obj)))
|
||||||
|
|
||||||
|
(defmethod serialize* ::pointer
|
||||||
|
[obj _type segment _scope]
|
||||||
|
(MemoryAccess/setAddress segment obj))
|
||||||
|
|
||||||
(defmulti deserialize
|
(defmulti deserialize
|
||||||
"Deserializes the given object into a Clojure data structure."
|
"Deserializes the given object into a Clojure data structure."
|
||||||
(fn
|
(fn
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue