summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/Compiler.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index 24cc87df..5d5c7b9e 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -4450,9 +4450,15 @@ static public void writeClassFile(String internalName, byte[] bytecode) throws E
String genPath = (String) COMPILE_PATH.get();
if(genPath == null)
throw new Exception("*compile-path* not set");
+ String[] dirs = internalName.split("/");
+ String p = genPath;
+ for(int i=0;i<dirs.length-1;i++)
+ {
+ p += File.separator + dirs[i];
+ (new File(p)).mkdir();
+ }
String path = genPath + File.separator + internalName + ".class";
File cf = new File(path);
- cf.getParentFile().mkdirs();
cf.createNewFile();
OutputStream cfs = new FileOutputStream(cf);
try