diff options
Diffstat (limited to 'chapter04')
| -rw-r--r-- | chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java b/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java index 1404c900..3b3a4436 100644 --- a/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java +++ b/chapter04/src/main/java/com/seaofnodes/simple/node/DivNode.java @@ -31,5 +31,10 @@ public class DivNode extends Node { } @Override - public Node idealize() { return null; } + public Node idealize() { + // Div of 1. + if( in(2)._type.isConstant() && in(2)._type instanceof TypeInteger i && i.value()==1 ) + return in(1); + return null; + } } |
