diff options
| author | Cliff Click <cliffc@acm.org> | 2026-09-23 16:35:50 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-09-23 16:35:50 -0700 |
| commit | 0f32001b466def0cee753557ad6e296cf15e2504 (patch) | |
| tree | 9e16038c574407bbd3f5c21f469c2df71e6835f8 /chapter14/src/main/java/com | |
| parent | 695429df954b084d2226fe2a6c1a47e1861bcc01 (diff) | |
| download | Simple-0f32001b466def0cee753557ad6e296cf15e2504.tar.gz Simple-0f32001b466def0cee753557ad6e296cf15e2504.zip | |
Keyboard shortcuts
Fast forward/reverse, pick-a-frame.
Shorter type names.
Diffstat (limited to 'chapter14/src/main/java/com')
3 files changed, 13 insertions, 1 deletions
diff --git a/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMem.java b/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMem.java index b2d081f4..38b3635a 100644 --- a/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMem.java +++ b/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMem.java @@ -52,6 +52,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"); return sb.append("MEM#").append( switch(_alias) { case 0 -> "TOP"; case -1 -> "BOT"; diff --git a/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java b/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java index c93c3074..e6e40fe2 100644 --- a/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java +++ b/chapter14/src/main/java/com/seaofnodes/simple/type/TypeMemPtr.java @@ -69,12 +69,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/chapter14/src/main/java/com/seaofnodes/simple/type/TypeStruct.java b/chapter14/src/main/java/com/seaofnodes/simple/type/TypeStruct.java index e2489d6f..2599a383 100644 --- a/chapter14/src/main/java/com/seaofnodes/simple/type/TypeStruct.java +++ b/chapter14/src/main/java/com/seaofnodes/simple/type/TypeStruct.java @@ -130,6 +130,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(" {\n"); @@ -140,5 +142,9 @@ 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; + } } |
