summaryrefslogtreecommitdiff
path: root/chapter10/src/main/java
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-05-29 12:39:56 -0700
committerGitHub <noreply@github.com>2024-05-29 20:39:56 +0100
commitd91dc657cce857d90389eefd9dd62d7c00ee0710 (patch)
tree6ef8427aa0535b1b568bf2e357d2909d38fbd334 /chapter10/src/main/java
parent492786481ed69edb847f5ebfa9a24a95d08aedb8 (diff)
downloadSimple-d91dc657cce857d90389eefd9dd62d7c00ee0710.tar.gz
Simple-d91dc657cce857d90389eefd9dd62d7c00ee0710.zip
Add a minor peep to settle a CCC discussion (#82)
* Add a minor peep to settle a CCC discussion * remove junk test
Diffstat (limited to 'chapter10/src/main/java')
-rw-r--r--chapter10/src/main/java/com/seaofnodes/simple/node/SubNode.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/chapter10/src/main/java/com/seaofnodes/simple/node/SubNode.java b/chapter10/src/main/java/com/seaofnodes/simple/node/SubNode.java
index 760177d7..7be53b68 100644
--- a/chapter10/src/main/java/com/seaofnodes/simple/node/SubNode.java
+++ b/chapter10/src/main/java/com/seaofnodes/simple/node/SubNode.java
@@ -39,6 +39,10 @@ public class SubNode extends Node {
if( in(2) instanceof MinusNode minus )
return new AddNode(in(1),minus.in(1));
+ // (-x) - y is -(x+y)
+ if( in(1) instanceof MinusNode minus )
+ return new MinusNode(new AddNode(minus.in(1),in(2)).peephole());
+
return null;
}