diff options
| author | Cliff Click <cliffc@acm.org> | 2024-09-13 09:40:38 -0700 |
|---|---|---|
| committer | XmiliaH <45106915+XmiliaH@users.noreply.github.com> | 2024-09-13 18:46:01 +0200 |
| commit | 4be43794169610d45e47468702c63cdfbc5deb5a (patch) | |
| tree | cce5414e14ceab8d4e4927bdf553f1e4528429a1 /chapter04/src/main/java/com | |
| parent | 703f88dbb2e1e4352a0725b7e742151739b82ea1 (diff) | |
| download | Simple-4be43794169610d45e47468702c63cdfbc5deb5a.tar.gz Simple-4be43794169610d45e47468702c63cdfbc5deb5a.zip | |
move x-x check up front
Diffstat (limited to 'chapter04/src/main/java/com')
| -rw-r--r-- | chapter04/src/main/java/com/seaofnodes/simple/node/SubNode.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/chapter04/src/main/java/com/seaofnodes/simple/node/SubNode.java b/chapter04/src/main/java/com/seaofnodes/simple/node/SubNode.java index 27e77f90..58d757ea 100644 --- a/chapter04/src/main/java/com/seaofnodes/simple/node/SubNode.java +++ b/chapter04/src/main/java/com/seaofnodes/simple/node/SubNode.java @@ -19,6 +19,10 @@ public class SubNode extends Node { @Override public Type compute() { + // Sub of same is 0 + if( in(1)==in(2) ) + return TypeInteger.ZERO; + if (in(1)._type instanceof TypeInteger i0 && in(2)._type instanceof TypeInteger i1) { if (i0.isConstant() && i1.isConstant()) @@ -30,10 +34,6 @@ public class SubNode extends Node { @Override public Node idealize() { - // Sub of same is 0 - if( in(1)==in(2) ) - return new ConstantNode(TypeInteger.constant(0)); - return null; } |
