X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm-basic.c;h=478a92c6f38cb91acb3c03c3f939c3158023d5f3;hb=7b7ff82e330bd4c42a9987709839251c5ac69089;hp=9c8b78c598e73aaacc9644309c4e5a654146ad44;hpb=a0ff807fe0e69c50469e506836467da32f23f754;p=dsw-obn.git diff --git a/src/backends/jvm/generator-jvm-basic.c b/src/backends/jvm/generator-jvm-basic.c index 9c8b78c..478a92c 100644 --- a/src/backends/jvm/generator-jvm-basic.c +++ b/src/backends/jvm/generator-jvm-basic.c @@ -77,6 +77,9 @@ jvm_get_descriptor(oberon_type_t * type) break; } break; + case OBERON_TYPE_SYSTEM_BYTE: + return new_string("B"); + break; case OBERON_TYPE_REAL: switch(type -> size) { @@ -187,6 +190,7 @@ jvm_get_prefix(oberon_type_t * type) case OBERON_TYPE_INTEGER: case OBERON_TYPE_CHAR: case OBERON_TYPE_SET: + case OBERON_TYPE_SYSTEM_BYTE: return (size <= 4) ? ('i') : ('l'); break; case OBERON_TYPE_PROCEDURE: @@ -237,6 +241,9 @@ jvm_get_postfix(oberon_type_t * type) break; } break; + case OBERON_TYPE_SYSTEM_BYTE: + return 'b'; + break; case OBERON_TYPE_CHAR: switch(size) { @@ -366,6 +373,7 @@ jvm_get_class_full_name(oberon_type_t * type) int num = type -> num_decl; oberon_object_t * arg = type -> decl; + for(int i = 0; i < num; i++) { desc = jvm_get_descriptor_safe(arg -> type);