diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-07-28 17:28:40 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-07-28 17:28:40 +0000 |
commit | 0d4de3fdbfb4236517c581c47d9f3dab6d66f52e (patch) | |
tree | 091bfb7b9d8d6b9663865c37d1e35a85be38ab1d /src | |
parent | 4b47829f59992f7de22a859fd32306bb512747de (diff) |
new namespace and class rules for genclass, patch from Chouser
Diffstat (limited to 'src')
-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)) |