summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8620d81)
raw | patch | inline | side by side (parent: 8620d81)
author | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Wed, 23 Aug 2017 10:15:27 +0000 (13:15 +0300) | ||
committer | DeaDDooMER <deaddoomer@deadsoftware.ru> | |
Wed, 23 Aug 2017 10:15:27 +0000 (13:15 +0300) |
Test.obn | patch | blob | history | |
src/backends/jvm/generator-jvm-basic.c | patch | blob | history |
diff --git a/Test.obn b/Test.obn
index 3c862c1d5917486426e84aa32439b268bb8baf88..6fae5299c4ceb508ddf3708622d39e419e562a12 100644 (file)
--- a/Test.obn
+++ b/Test.obn
MODULE Test;
-TYPE
- Object = RECORD
- mth : PROCEDURE;
- END;
-
-VAR
- p : PROCEDURE;
- o, a : Object;
-
-PROCEDURE X;
-END X;
-
-PROCEDURE Z(VAR g : Object);
-BEGIN
- g.mth;
-END Z;
-
-BEGIN
- p := X;
- ASSERT(p # NIL);
- o.mth := X;
- ASSERT(o.mth # NIL);
- a := o;
- ASSERT(a.mth # NIL);
- Z(a);
END Test.
index 855a61722c677d750a8bd84ea2fe27a1652e2723..61088af9bfb6a30b372fe071e85a30b4387d1dc8 100644 (file)
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;
}