Support looking up symbols in non-system libraries

This commit is contained in:
Joshua Suskalo 2021-09-18 17:30:26 -05:00
parent 0c6b2616e8
commit f4a4f8ec33

View file

@ -480,8 +480,9 @@
(defn find-symbol (defn find-symbol
"Gets the [[MemoryAddress]] of a symbol from the loaded libraries." "Gets the [[MemoryAddress]] of a symbol from the loaded libraries."
[sym] [sym]
;; TODO(Joshua): Ensure this looks up both in the system, and loaded libraries (see `SymbolLookup#loaderLookup`) (let [sym (name sym)]
(.. (CLinker/systemLookup) (lookup (name sym)) (orElse nil))) (or (.. (CLinker/systemLookup) (lookup sym) (orElse nil))
(.. (CLinker/systemLookup) (loaderLookup) (lookup sym) (orElse nil)))))
(defn- method-type (defn- method-type
"Gets the [[MethodType]] for a set of `args` and `ret` types." "Gets the [[MethodType]] for a set of `args` and `ret` types."