From 4391fcc03a214e6296e19ca42487de023ab12f6a Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sat, 26 Sep 2026 16:02:24 -0700 Subject: bug fix widen Failed lattice law tests mixing constants and have wide type ints; or mixing wide ints and constant arrays. --- chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAry.java | 6 +++--- chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryB.java | 3 --- chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryI.java | 4 +--- 3 files changed, 4 insertions(+), 9 deletions(-) (limited to 'chapter22/src/main/java') diff --git a/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAry.java b/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAry.java index 29496af6..692450d0 100644 --- a/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAry.java +++ b/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAry.java @@ -1,6 +1,5 @@ package com.seaofnodes.simple.type; -import com.seaofnodes.simple.SB; import com.seaofnodes.simple.Utils; import java.util.ArrayList; import java.io.ByteArrayOutputStream; @@ -18,8 +17,9 @@ public class TypeConAry extends Type { public static final TypeConAry BOT = new TypeConAry(false,null).intern(); public static void gather(ArrayList ts) { ts.add(BOT); - TypeConAryB.gather(ts); - TypeConAryI.gather(ts); + ts.add(TypeConAryB.ABC); + ts.add(TypeConAryB.ABCD); + ts.add(TypeConAryI.I123); } @Override public String str() { return (_any?"~":"") + "[]"; } diff --git a/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryB.java b/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryB.java index c057c6a5..b56beb47 100644 --- a/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryB.java +++ b/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryB.java @@ -1,6 +1,5 @@ package com.seaofnodes.simple.type; -import java.util.ArrayList; import java.util.Arrays; import java.io.ByteArrayOutputStream; @@ -10,10 +9,8 @@ public class TypeConAryB extends TypeConAry { public static TypeConAryB make( String s ) { return make(s.getBytes()); } static final TypeConAryB ABC = make("abc"); static final TypeConAryB ABCD = make("abcd"); - public static void gather(ArrayList ts) { ts.add(ABC); ts.add(ABCD); } @Override public long at(int idx) { return _ary[idx]; } @Override public int len() { return _ary.length; } - @Override public int alignment() { return 0; } @Override public String str() { return "[\""+new String(_ary)+"\"]"; } @Override boolean eq(Type t) { return Arrays.equals(_ary,((TypeConAryB)t)._ary); } @Override int hash() { return Arrays.hashCode(_ary); } diff --git a/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryI.java b/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryI.java index f888a93d..4859e839 100644 --- a/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryI.java +++ b/chapter22/src/main/java/com/seaofnodes/simple/type/TypeConAryI.java @@ -1,13 +1,11 @@ package com.seaofnodes.simple.type; -import java.util.ArrayList; import java.util.Arrays; public class TypeConAryI extends TypeConAry { private TypeConAryI(int[] bs) { super(false,bs); } public static TypeConAryI make( int[] bs ) { return new TypeConAryI(bs).intern(); } - private static final TypeConAryI I123 = make(new int[]{1,2,3}); - public static void gather(ArrayList ts) { ts.add(I123); } + static final TypeConAryI I123 = make(new int[]{1,2,3}); @Override public String str() { return "[i32]"; } @Override public int alignment() { return 2; } @Override boolean eq(Type t) { return Arrays.equals(_ary,((TypeConAryI)t)._ary); } -- cgit v1.2.3