diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTree.java @ 18761:a665483c3881

Truffle-DSL: new node layout implementation.
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:38:54 +0100
parents 62cfffca9be2
children
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTree.java	Mon Dec 29 23:38:50 2014 +0100
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTree.java	Mon Dec 29 23:38:54 2014 +0100
@@ -80,4 +80,26 @@
         this.type = type;
     }
 
+    public boolean isEmpty() {
+        return children == null || children.isEmpty();
+    }
+
+    public boolean containsKind(CodeTreeKind k) {
+        if (this.kind == k) {
+            return true;
+        }
+        if (children != null) {
+            for (CodeTree child : children) {
+                if (child.containsKind(k)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public boolean isSingleLine() {
+        return !containsKind(CodeTreeKind.NEW_LINE);
+    }
+
 }