index 855a61722c677d750a8bd84ea2fe27a1652e2723..2088559c7e7089b6609e4857179125f70cda025e 100644 (file)
int size = type -> size;
switch(type -> class)
{
+ case OBERON_TYPE_NOTYPE:
+ return ' ';
+ break;
case OBERON_TYPE_BOOLEAN:
case OBERON_TYPE_INTEGER:
case OBERON_TYPE_CHAR:
int size = type -> size;
switch(type -> class)
{
+ case OBERON_TYPE_NOTYPE:
+ return ' ';
+ break;
case OBERON_TYPE_BOOLEAN:
return 'b';
break;
{
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;
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;
name = new_string("SYSTEM$PROCEDURE");
char * desc;
+ char * spec;
desc = jvm_get_descriptor_safe(type -> base);
name = new_string("%s$%s", name, desc);
for(int i = 0; i < num; i++)
{
+ spec = "";
+ if(arg -> class == OBERON_CLASS_VAR_PARAM)
+ {
+ spec = "VAR";
+ }
desc = jvm_get_descriptor_safe(arg -> type);
- name = new_string("%s%s", name, desc);
+ name = new_string("%s%s%s", name, spec, desc);
arg = arg -> next;
}
{
switch(postfix)
{
+ case ' ':
+ return 0;
case 'a':
case 'b':
case 's':
{
switch(prefix)
{
+ case ' ':
+ return 'V';
case 'b':
return 'B';
case 'c':