summaryrefslogtreecommitdiff
path: root/chapter25/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'chapter25/src/main/java/com')
-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) {