diff options
-rw-r--r-- | src/clojure/genclass.clj | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/clojure/genclass.clj b/src/clojure/genclass.clj index f9da00e4..529df165 100644 --- a/src/clojure/genclass.clj +++ b/src/clojure/genclass.clj @@ -151,6 +151,7 @@ ctor-sig-map (or constructors (zipmap (ctor-sigs super) (ctor-sigs super))) cv (new ClassWriter (. ClassWriter COMPUTE_MAXS)) cname (. name (replace "." "/")) + [pkg-name sname] (.split name "[.](?=[^.]*$)") ctype (. Type (getObjectType cname)) iname (fn [c] (.. Type (getType c) (getInternalName))) totype (fn [c] (. Type (getType c))) @@ -272,8 +273,8 @@ nil nil cv)] (. gen (visitCode)) (doseq v var-fields - (. gen push name) - (. gen push v) + (. gen push pkg-name) + (. gen push (str sname "-" v)) (. gen (invokeStatic rt-type (. Method (getMethod "clojure.lang.Var var(String,String)")))) (. gen putStatic ctype (var-name v) var-type)) |