summaryrefslogtreecommitdiff
path: root/chapter25/src
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-08-21 09:34:34 -0700
committerCliff Click <cliffc@acm.org>2026-08-21 09:34:34 -0700
commit66e426e7c4576a8433449bc649597cf63f22436e (patch)
treeebfdd4e8198769e9664413704cba42bb86f324b5 /chapter25/src
parent5a41bcb1e28977b4b36ea55e3512f0972c69d69f (diff)
downloadSimple-66e426e7c4576a8433449bc649597cf63f22436e.tar.gz
Simple-66e426e7c4576a8433449bc649597cf63f22436e.zip
Add some Type test cases
Diffstat (limited to 'chapter25/src')
-rw-r--r--chapter25/src/main/java/com/seaofnodes/simple/type/TypeFunPtr.java10
-rw-r--r--chapter25/src/main/java/com/seaofnodes/simple/type/TypeMem.java8
2 files changed, 16 insertions, 2 deletions
diff --git a/chapter25/src/main/java/com/seaofnodes/simple/type/TypeFunPtr.java b/chapter25/src/main/java/com/seaofnodes/simple/type/TypeFunPtr.java
index d18ebd9c..ff52c93b 100644
--- a/chapter25/src/main/java/com/seaofnodes/simple/type/TypeFunPtr.java
+++ b/chapter25/src/main/java/com/seaofnodes/simple/type/TypeFunPtr.java
@@ -86,7 +86,15 @@ public class TypeFunPtr extends TypeNil {
public static TypeFunPtr TEST0 = make((byte)3,true,TINTMEM,TypeInteger.BOT, XInt.SET3);
public static TypeFunPtr MAIN = make((byte)3,true,TINT ,Type.BOTTOM, XInt.FULL); // Main can return anything
public static TypeFunPtr CALLOC= make((byte)3,true,TINTINT,TypeMemPtr .BOT, XInt.FULL);
- public static void gather(ArrayList<Type> ts) { ts.add(TEST); ts.add(TEST0); ts.add(BOT); ts.add(MAIN);ts.add(CALLOC); }
+ public static void gather(ArrayList<Type> ts) {
+ ts.add(TEST);
+ ts.add(TEST0);
+ ts.add(BOT);
+ ts.add(MAIN);
+ ts.add(CALLOC);
+ ts.add(make((byte)2,false,TINT,TypeInteger.I32, XInt.SET1));
+ ts.add(make((byte)2,true ,TINT,TypeInteger.BOT, XInt.SET3));
+ }
private static final Type[] ARG_EMPTY = new Type[0];
@Override
diff --git a/chapter25/src/main/java/com/seaofnodes/simple/type/TypeMem.java b/chapter25/src/main/java/com/seaofnodes/simple/type/TypeMem.java
index c634aab0..420dea55 100644
--- a/chapter25/src/main/java/com/seaofnodes/simple/type/TypeMem.java
+++ b/chapter25/src/main/java/com/seaofnodes/simple/type/TypeMem.java
@@ -105,7 +105,13 @@ public class TypeMem extends Type {
public static final TypeMem START= make(1,Type.BOTTOM,false,false,false, XInt.EMPTY, XInt.EMPTY);
public static final TypeMem SELF_MEM = make(1, TypeStruct.BOT);
- public static void gather(ArrayList<Type> ts) { ts.add(make(2,Type.NIL)); ts.add(make(2,TypeInteger.ZERO)); ts.add(BOT); ts.add(SELF_MEM); ts.add(START); }
+ public static void gather(ArrayList<Type> ts) {
+ ts.add(make(2,Type.NIL));
+ ts.add(make(2,TypeInteger.ZERO));
+ ts.add(BOT);
+ ts.add(SELF_MEM);
+ ts.add(START);
+ }
@Override
TypeMem xmeet(Type t) {