Mercurial > hg > truffle
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder.java @ 20940:476374f3fe9a
Truffle-DSL: generate better polymorphic execute signatures
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Tue, 14 Apr 2015 15:12:48 +0200 |
parents | 08aa0372dad4 |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder.java Tue Apr 14 15:12:48 2015 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder.java Tue Apr 14 15:12:48 2015 +0200 @@ -316,6 +316,13 @@ } } + public CodeTreeBuilder trees(CodeTree... trees) { + for (CodeTree tree : trees) { + tree(tree); + } + return this; + } + public CodeTreeBuilder string(String chunk1, String chunk2, String chunk3, String chunk4, String... chunks) { push(GROUP).string(chunk1).string(chunk2).string(chunk3).string(chunk4); for (int i = 0; i < chunks.length; i++) { @@ -861,4 +868,15 @@ } } + public CodeTreeBuilder returnDefault() { + ExecutableElement method = findMethod(); + if (ElementUtils.isVoid(method.getReturnType())) { + returnStatement(); + } else { + startReturn().defaultValue(method.getReturnType()).end(); + } + return this; + + } + }