summaryrefslogtreecommitdiff
path: root/chapter21/src/main/java/com
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-04-27 14:51:38 -0700
committerCliff Click <cliffc@acm.org>2025-04-27 14:51:38 -0700
commitfbb15fc4457253321e8a3320cd107fded84ee5f0 (patch)
treef3a7dd0ab7f89bbf37749e0d22606bf0782cf3ba /chapter21/src/main/java/com
parent71f9707231aca6edbfd7db3363d39929f265792d (diff)
parentbb1d71e409832877d5f2e0db163e1d638cf536f7 (diff)
downloadSimple-fbb15fc4457253321e8a3320cd107fded84ee5f0.tar.gz
Simple-fbb15fc4457253321e8a3320cd107fded84ee5f0.zip
Merge branch 'main' into ch22
Diffstat (limited to 'chapter21/src/main/java/com')
-rw-r--r--chapter21/src/main/java/com/seaofnodes/simple/node/CallNode.java2
-rw-r--r--chapter21/src/main/java/com/seaofnodes/simple/type/TypeStruct.java7
2 files changed, 6 insertions, 3 deletions
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/node/CallNode.java b/chapter21/src/main/java/com/seaofnodes/simple/node/CallNode.java
index 773716f7..78a0b153 100644
--- a/chapter21/src/main/java/com/seaofnodes/simple/node/CallNode.java
+++ b/chapter21/src/main/java/com/seaofnodes/simple/node/CallNode.java
@@ -139,7 +139,7 @@ public class CallNode extends CFGNode {
assert linked(fun);
int idx = fun._inputs.find(this);
for( Node use : fun._outputs )
- if( use instanceof ParmNode parm )
+ if( use instanceof ParmNode )
use.delDef(idx);
fun.delDef(idx);
cend().delDef(cend()._inputs.find(fun.ret()));
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/type/TypeStruct.java b/chapter21/src/main/java/com/seaofnodes/simple/type/TypeStruct.java
index e981b5dc..aa6f2dfd 100644
--- a/chapter21/src/main/java/com/seaofnodes/simple/type/TypeStruct.java
+++ b/chapter21/src/main/java/com/seaofnodes/simple/type/TypeStruct.java
@@ -182,9 +182,12 @@ public class TypeStruct extends Type {
@Override
public SB print(SB sb) {
+ if( _fields == null ) return sb.p(_name); // Forward reference struct, just print the name
+ if( isAry() ) {
+ if( !isFinal() ) sb.p("!");
+ return sb.p(_name); // Skip printing generic array fields
+ }
sb.p(_name);
- if( _fields == null ) return sb; // Forward reference struct, just print the name
- if( isAry() ) return sb; // Skip printing generic array fields
sb.p(" {");
for( Field f : _fields )
f._type.print(sb).p(f._final ? " " : " !").p(f._fname).p("; ");