summaryrefslogtreecommitdiff
path: root/vaporize/library/Node.java
diff options
context:
space:
mode:
Diffstat (limited to 'vaporize/library/Node.java')
-rw-r--r--vaporize/library/Node.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/vaporize/library/Node.java b/vaporize/library/Node.java
new file mode 100644
index 0000000..203f931
--- /dev/null
+++ b/vaporize/library/Node.java
@@ -0,0 +1,38 @@
+package vaporize.library;
+
+import cs132.vapor.ast.*;
+import java.util.ArrayList;
+
+class Node {
+
+ private VInstr instruction;
+ private ArrayList<Node> sources;
+ private ArrayList<Node> dests;
+
+ protected Node(VInstr instruction) {
+ this.instruction = instruction;
+ this.sources = new ArrayList<>();
+ this.dests = new ArrayList<>();
+ }
+
+ protected void addSource(Node node) {
+ this.sources.add(node);
+ }
+
+ protected void addDest(Node node) {
+ this.dests.add(node);
+ }
+
+ protected VInstr getInstruction() {
+ return this.instruction;
+ }
+
+ protected ArrayList<Node> getSources() {
+ return this.sources;
+ }
+
+ protected ArrayList<Node> getDests() {
+ return this.dests;
+ }
+
+}