diff options
Diffstat (limited to 'chapter17/src/main/java')
3 files changed, 13 insertions, 1 deletions
diff --git a/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMem.java b/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMem.java index 33c6a8ce..6dcd401a 100644 --- a/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMem.java +++ b/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMem.java @@ -57,6 +57,8 @@ public class TypeMem extends Type { @Override public StringBuilder print(StringBuilder sb) { + if( this==BOT ) return sb.append("MemBot"); + if( this==TOP ) return sb.append("MemTop"); sb.append("MEM#"); if( _alias== 0 ) return sb.append("TOP"); if( _alias==-1 ) return sb.append("BOT"); diff --git a/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java b/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java index c24fccf3..9e33e15d 100644 --- a/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java +++ b/chapter17/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java @@ -84,12 +84,16 @@ public class TypeMemPtr extends Type { // [void,name,MANY]*[,?] @Override public StringBuilder print(StringBuilder sb) { + if( this==BOT ) return sb.append("PtrBot"); + if( this==TOP ) return sb.append("PtrTop"); if( this== NULLPTR) return sb.append("null"); if( this== VOIDPTR) return sb.append("*void"); return _obj.print(sb.append("*")).append(_nil ? "?" : ""); } @Override public String str() { + if( this==BOT ) return "PtrBot"; + if( this==TOP ) return "PtrTop"; if( this== NULLPTR) return "null"; if( this== VOIDPTR) return "*void"; return "*"+_obj.str()+(_nil ? "?" : ""); diff --git a/chapter17/src/main/java/com/seaofnodes/simple/type/TypeStruct.java b/chapter17/src/main/java/com/seaofnodes/simple/type/TypeStruct.java index b3dbcad0..97664e3c 100644 --- a/chapter17/src/main/java/com/seaofnodes/simple/type/TypeStruct.java +++ b/chapter17/src/main/java/com/seaofnodes/simple/type/TypeStruct.java @@ -196,6 +196,8 @@ public class TypeStruct extends Type { @Override public StringBuilder print(StringBuilder sb) { + if( this==BOT ) return sb.append("StructBot"); + if( this==TOP ) return sb.append("StructTop"); sb.append(_name); if( _fields == null ) return sb; // Forward reference struct, just print the name sb.append(" {"); @@ -204,7 +206,11 @@ public class TypeStruct extends Type { return sb.append("}"); } - @Override public String str() { return _name; } + @Override public String str() { + if( this==BOT ) return "StructBot"; + if( this==TOP ) return "StructTop"; + return _name; + } public boolean isAry() { return _fields.length==2 && _fields[1]._fname.equals("[]"); } |
