Mercurial > hg > truffle
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); + } + }