X-Git-Url: https://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm-basic.c;h=2088559c7e7089b6609e4857179125f70cda025e;hp=033b84227d1eebfb4bbda213e94e19e889229f78;hb=ac2eb0e30e5c65480e72565b104ea9a602fe31e2;hpb=dd188cb697c08d52aefb144a4f3a943dbf3388c5 diff --git a/src/backends/jvm/generator-jvm-basic.c b/src/backends/jvm/generator-jvm-basic.c index 033b842..2088559 100644 --- a/src/backends/jvm/generator-jvm-basic.c +++ b/src/backends/jvm/generator-jvm-basic.c @@ -330,13 +330,17 @@ jvm_get_field_full_name(oberon_object_t * x) { case OBERON_CLASS_VAR: return new_string("%s/%s", x -> module -> name, jvm_get_name(x)); + break; case OBERON_CLASS_PROC: return new_string("%s/%s", x -> module -> name, jvm_get_name(x)); + break; case OBERON_CLASS_FIELD: parent = jvm_get_class_full_name(x -> parent_type); return new_string("%s/%s", parent, jvm_get_name(x)); + break; case OBERON_CLASS_MODULE: return new_string(x -> module -> name); + break; default: gen_error("jvm_get_field_full_name: wat"); break; @@ -351,13 +355,18 @@ jvm_get_field_full_name_safe(oberon_object_t * x) switch(x -> class) { case OBERON_CLASS_VAR: - case OBERON_CLASS_PROC: return new_string("%s$%s", x -> module -> name, x -> name); + break; + case OBERON_CLASS_PROC: + return new_string("%s$%s", x -> module -> name, jvm_get_name(x)); + break; case OBERON_CLASS_FIELD:; char * rec_name = jvm_get_class_full_name(x -> parent_type); return new_string("%s$%s", rec_name, x -> name); + break; case OBERON_CLASS_MODULE: return new_string(x -> module -> name); + break; default: gen_error("jvm_get_field_full_name: wat"); break;