index 5fabc3171bf03787173e193640811e552934bd4a..865ffdd4177f7625fb1f5fdef57b2f3ba6c0cb39 100644 (file)
switch(x -> class)
{
case OBERON_CLASS_VAR:
+ case OBERON_CLASS_PROC:
return new_string("%s/%s", x -> module -> name, x -> name);
case OBERON_CLASS_FIELD:;
char * rec_name = jvm_get_class_full_name(x -> parent_type);
return NULL;
}
+char *
+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);
+ case OBERON_CLASS_FIELD:;
+ char * rec_name = jvm_get_class_full_name(x -> parent_type);
+ return new_string("%s$%s", rec_name, x -> name);
+ case OBERON_CLASS_MODULE:
+ return new_string(x -> module -> name);
+ default:
+ gen_error("jvm_get_field_full_name: wat");
+ break;
+ }
+
+ return NULL;
+}
+
char *
jvm_get_class_full_name(oberon_type_t * type)
{