diff options
Diffstat (limited to 'chapter23/src/main/java')
| -rw-r--r-- | chapter23/src/main/java/com/seaofnodes/simple/node/Node.java | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/chapter23/src/main/java/com/seaofnodes/simple/node/Node.java b/chapter23/src/main/java/com/seaofnodes/simple/node/Node.java index 5e5be196..8981ab0d 100644 --- a/chapter23/src/main/java/com/seaofnodes/simple/node/Node.java +++ b/chapter23/src/main/java/com/seaofnodes/simple/node/Node.java @@ -228,8 +228,7 @@ public abstract class Node implements Cloneable { } // Breaks the edge invariants, used temporarily - @SuppressWarnings("unchecked") - protected <N extends Node> N addUse(Node n) { _outputs.add(n); return (N)this; } + protected <N extends Node> void addUse(N n) { _outputs.add(n); } // Remove node 'use' from 'def's (i.e. our) output list, by compressing the list in-place. // Return true if the output list is empty afterward. @@ -284,13 +283,11 @@ public abstract class Node implements Cloneable { // Shortcuts to stop DCE mid-parse // Add bogus null use to keep node alive - public <N extends Node> N keep() { return addUse(null); } + @SuppressWarnings("unchecked") + public <N extends Node> N keep() { addUse(null); return (N)this; } // Remove bogus null. @SuppressWarnings("unchecked") - public <N extends Node> N unkeep() { - delUse(null); - return (N)this; - } + public <N extends Node> N unkeep() { delUse(null); return (N)this; } // Test "keep" status public boolean iskeep() { return _outputs.find(null) != -1; } public void unkill() { |
