index 50f3af92ee8706957784bd4a55667b9e4a8b9e82..bd1812c00d0d74309faee20c12301a3102675f42 100644 (file)
#include <gc.h>
-#include "../../../include/oberon.h"
#include "../../oberon-internals.h"
#include "generator-jvm.h"
#include "generator-jvm-abi.h"
}
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;
}
}
}
-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)
{