From 045799c50c4daa0e6d2575d11392ea51a82650f5 Mon Sep 17 00:00:00 2001
From: Joseph Rowlands <jrr1g18@soton.ac.uk>
Date: Fri, 9 Nov 2018 16:01:04 +0000
Subject: [PATCH] Added some VALID_NODES consants

---
 .../boring/nodes/BinaryOperationNode.java        | 16 +++++++++++++++-
 .../nodes/statements/EmptyStatementNode.java     |  6 +-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/jrr1g18/boring/nodes/BinaryOperationNode.java b/src/jrr1g18/boring/nodes/BinaryOperationNode.java
index a530627..3bf3fe2 100644
--- a/src/jrr1g18/boring/nodes/BinaryOperationNode.java
+++ b/src/jrr1g18/boring/nodes/BinaryOperationNode.java
@@ -1,5 +1,9 @@
 package jrr1g18.boring.nodes;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * A class representing a binary operation on the AST.
  * 
@@ -10,6 +14,16 @@ public class BinaryOperationNode extends ASTNode {
     private ASTNode m_lhs;
     private ASTNode m_rhs;
 
+    private static final List<NodeType> VALID_NODES;
+    static {
+        List<NodeType> nodes = new ArrayList<>();
+        nodes.add(NodeType.ADD);
+        nodes.add(NodeType.DIV);
+        nodes.add(NodeType.MUL);
+        nodes.add(NodeType.SUB);
+        VALID_NODES = Collections.unmodifiableList(nodes);
+    }
+
     /**
      * Create a new BinaryOperationNode
      * 
@@ -34,6 +48,6 @@ public class BinaryOperationNode extends ASTNode {
 
     @Override
     public boolean isValidType(NodeType type) {
-
+        return VALID_NODES.contains(type);
     }
 }
diff --git a/src/jrr1g18/boring/nodes/statements/EmptyStatementNode.java b/src/jrr1g18/boring/nodes/statements/EmptyStatementNode.java
index 3e74463..05c95b0 100644
--- a/src/jrr1g18/boring/nodes/statements/EmptyStatementNode.java
+++ b/src/jrr1g18/boring/nodes/statements/EmptyStatementNode.java
@@ -1,6 +1,3 @@
-/**
- * 
- */
 package jrr1g18.boring.nodes.statements;
 
 /**
@@ -20,7 +17,6 @@ public class EmptyStatementNode extends StatementNode {
 
     @Override
     public boolean isValidType(NodeType type) {
-
-        return super.isValidType(type);
+        return type == NodeType.EMPTY_STATEMENT;
     }
 }
-- 
GitLab