use syntax quoted expression in generate-deserialize implementation for strings

Co-authored-by: Joshua Suskalo <joshua@suskalo.org>
This commit is contained in:
Kristin Rutenkolk 2025-01-02 23:50:26 +01:00 committed by GitHub
parent 10b8baafa2
commit 0dfb6bd3de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1811,7 +1811,8 @@
(defmethod generate-deserialize :coffi.mem/float [_type offset segment-source-form] `(read-float ~segment-source-form ~offset)) (defmethod generate-deserialize :coffi.mem/float [_type offset segment-source-form] `(read-float ~segment-source-form ~offset))
(defmethod generate-deserialize :coffi.mem/double [_type offset segment-source-form] `(read-double ~segment-source-form ~offset)) (defmethod generate-deserialize :coffi.mem/double [_type offset segment-source-form] `(read-double ~segment-source-form ~offset))
(defmethod generate-deserialize :coffi.mem/pointer [_type offset segment-source-form] `(read-address ~segment-source-form ~offset)) (defmethod generate-deserialize :coffi.mem/pointer [_type offset segment-source-form] `(read-address ~segment-source-form ~offset))
(defmethod generate-deserialize :coffi.mem/c-string [_type offset segment-source-form] (list `.getString (list `.reinterpret (list `.get (with-meta segment-source-form {:tag 'java.lang.foreign.MemorySegment}) `pointer-layout offset) `Integer/MAX_VALUE) 0)) (defmethod generate-deserialize :coffi.mem/c-string [_type offset segment-source-form]
`(.getString (.reinterpret (.get ~(with-meta segment-source-form {:tag 'java.lang.foreign.MemorySegment}) pointer-layout ~offset) Integer/MAX_VALUE) 0))
(defn- generate-deserialize-array-as-array-bulk [array-type n offset segment-source-form] (defn- generate-deserialize-array-as-array-bulk [array-type n offset segment-source-form]
(list (coffitype->array-read-fn array-type) segment-source-form n offset)) (list (coffitype->array-read-fn array-type) segment-source-form n offset))