X-Git-Url: http://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm-basic.c;h=bcd82a25476803cbcd4aca6e8aa0ecf9f4c24934;hp=44046a1506ab27c99e6b78e7178309c684f5e7dd;hb=9bcd389a97869b2ab6b1c6fdc35c0f09beab66c5;hpb=72048038b5be32cc940c8452541b8bb3e75958a9 diff --git a/src/backends/jvm/generator-jvm-basic.c b/src/backends/jvm/generator-jvm-basic.c index 44046a1..bcd82a2 100644 --- a/src/backends/jvm/generator-jvm-basic.c +++ b/src/backends/jvm/generator-jvm-basic.c @@ -57,6 +57,7 @@ jvm_get_descriptor(oberon_type_t * type) return new_string("V"); break; case OBERON_TYPE_INTEGER: + case OBERON_TYPE_SET: switch(type -> size) { case 1: @@ -165,6 +166,7 @@ jvm_get_prefix(oberon_type_t * type) case OBERON_TYPE_BOOLEAN: case OBERON_TYPE_INTEGER: case OBERON_TYPE_CHAR: + case OBERON_TYPE_SET: return (size <= 4) ? ('i') : ('l'); break; case OBERON_TYPE_PROCEDURE: @@ -193,6 +195,7 @@ jvm_get_postfix(oberon_type_t * type) return 'b'; break; case OBERON_TYPE_INTEGER: + case OBERON_TYPE_SET: switch(size) { case 1: @@ -358,7 +361,9 @@ int jvm_cell_size_for_type(oberon_type_t * type) { if(type -> class == OBERON_TYPE_INTEGER - || type -> class == OBERON_TYPE_REAL) + || type -> class == OBERON_TYPE_REAL + || type -> class == OBERON_TYPE_CHAR + || type -> class == OBERON_TYPE_SET) { if(type -> size > 4) {