summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-05-03 17:56:39 -0600
committerbd-912 <bdunahu@colostate.edu>2024-05-03 17:56:39 -0600
commit5ddbe1a5877c2117b2d74015af1eb11baaf998a1 (patch)
tree8c593470ce67d0c2cdb14745de512bf52102bc57
parent8b481ec08efa60d462897a98bec3f6761c2933d1 (diff)
Added example which checks expressions are dereferenced properly
-rw-r--r--misc/MinimalSimpleFormatter.java2
-rw-r--r--output/ex53.java17
-rw-r--r--output/ex53.vapor37
3 files changed, 55 insertions, 1 deletions
diff --git a/misc/MinimalSimpleFormatter.java b/misc/MinimalSimpleFormatter.java
index a325185..741863d 100644
--- a/misc/MinimalSimpleFormatter.java
+++ b/misc/MinimalSimpleFormatter.java
@@ -7,7 +7,7 @@ import java.util.logging.SimpleFormatter;
public class MinimalSimpleFormatter extends SimpleFormatter {
@Override
public String format(LogRecord record) {
- if (true)
+ if (false)
return record.getLevel() + ": " + formatMessage(record) + "\n";
else
return "";
diff --git a/output/ex53.java b/output/ex53.java
new file mode 100644
index 0000000..778c1bd
--- /dev/null
+++ b/output/ex53.java
@@ -0,0 +1,17 @@
+class ex53{
+ public static void main(String[] a){
+ System.out.println(new Test().start(12));
+ }
+}
+
+class Test {
+
+ int a ;
+ int b ;
+
+ public int start(int c) {
+ a = c;
+ b = a;
+ return b;
+ }
+}
diff --git a/output/ex53.vapor b/output/ex53.vapor
new file mode 100644
index 0000000..14e70ce
--- /dev/null
+++ b/output/ex53.vapor
@@ -0,0 +1,37 @@
+func Main()
+ t.3 = HeapAllocZ(12)
+ [t.3+0] = :functable_Test
+ t.4 = t.3
+ t.5 = t.4
+ t.6 = [t.5+0]
+ t.7 = [t.6+0]
+ t.8 = 12
+ t.9 = t.8
+ t.2 = call t.7(t.5 t.9)
+ t.10 = t.2
+ t.11 = t.10
+ PrintIntS(t.11)
+ ret
+
+const functable_Test
+ :Test_start
+
+func Test_start(this t.0 )
+ t.1 = t.0
+ t.2 = t.1
+ [this+4] = t.2
+ t.3 = [this+4]
+ t.4 = t.3
+ [this+8] = t.4
+ t.5 = [this+8]
+ t.6 = t.5
+ t.7 = t.6
+ ret t.7
+
+func AllocArray(size)
+ bytes = MulS(size 4)
+ bytes = Add(bytes 4)
+ v = HeapAllocZ(bytes)
+ [v] = size
+ ret v
+