DEADSOFTWARE

Теперь можно указывать куда сгружать высер кодогенератора
[dsw-obn.git] / src / backends / jvm / generator-jvm-asm.c
index 50f3af92ee8706957784bd4a55667b9e4a8b9e82..1d1220d0ecac4b99f7e81d2eee7e96deb241a54e 100644 (file)
@@ -70,15 +70,20 @@ jvm_generate_function_end(gen_proc_t * p)
 }
 
 struct gen_class *
-jvm_create_class(char * full_name)
+jvm_create_class(const char * dir, char * full_name)
 {
        struct gen_class * class = GC_MALLOC(sizeof *class);
        memset(class, 0, sizeof *class);
 
-       char * fname = new_string("%s.j", full_name);
+       char * fname = new_string("%s/%s.j", dir, full_name);
        class -> full_name = new_string(full_name);
        class -> fp = fopen(fname, "w");
-       assert(class -> fp);
+       class -> dir = new_string(dir);
+
+       if(class -> fp == NULL)
+       {
+               gen_error("unable to create file %s", fname);
+       }
 
        return class;
 }
@@ -279,14 +284,6 @@ jvm_generate_push_string(gen_proc_t * p, char * str, int char_size)
        }
 }
 
-gen_var_t *
-oberon_generator_new_var()
-{
-       gen_var_t * v = GC_MALLOC(sizeof *v);
-       memset(v, 0, sizeof *v);
-       return v;       
-}
-
 int
 jvm_new_label_id(gen_proc_t * p)
 {