DEADSOFTWARE

JVM: Реализованы VAR-параметры
[dsw-obn.git] / src / backends / jvm / generator-jvm.h
index ad1b982a328113ba8a7a130db22c5a9389d6eaef..242aa70b10f8f2b17b21926b06de0e9192b7021c 100644 (file)
@@ -22,6 +22,7 @@ struct gen_class
        char * full_name;
        FILE * fp;
        gen_proc_t * p;
+       struct gen_class * base;
 };
 
 enum gen_storage
@@ -29,7 +30,9 @@ enum gen_storage
        JVM_STORAGE_UNKNOWN,
        JVM_STORAGE_REGISTER,
        JVM_STORAGE_STATIC,
-       JVM_STORAGE_FIELD
+       JVM_STORAGE_FIELD,
+       JVM_STORAGE_LOCAL,
+       JVM_STORAGE_VARPTR
 };
 
 
@@ -45,14 +48,20 @@ struct gen_type_t
 {
        int rec_id;
        struct gen_class * class;
+
+       bool wide;
+       char prefix;
+       char postfix;
+       char * desc;
+       int cell_size;
 };
 
 struct gen_var_t
 {
        enum gen_storage storage;
+       gen_type_t * type;
        int reg;
        char * full_name;
-       char * desc;
 };
 
 struct gen_context_t
@@ -65,3 +74,8 @@ struct gen_module_t
        struct gen_class * class;
        int rec_id;
 };
+
+struct gen_label_t
+{
+       int id;
+};