Mercurial > hg > truffle
changeset 18794:e688e42b41e3
Truffle: LoopNode: child field type can be RepeatingNode now
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Mon, 05 Jan 2015 19:01:01 +0100 |
parents | 7bb1abca2c0d |
children | e9cbe1618733 |
files | graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/LoopNode.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RepeatingNode.java |
diffstat | 2 files changed, 4 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/LoopNode.java Wed Jan 07 13:40:01 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/LoopNode.java Mon Jan 05 19:01:01 2015 +0100 @@ -31,13 +31,10 @@ */ public abstract class LoopNode extends Node { - /* - * TODO Unfortunately we cannot yet use interface typed fields as child fields. - */ - @Child protected Node repeatingNode; + @Child protected RepeatingNode repeatingNode; public LoopNode(RepeatingNode repeatingNode) { - this.repeatingNode = (Node) repeatingNode; + this.repeatingNode = repeatingNode; } public abstract void executeLoop(VirtualFrame frame); @@ -47,7 +44,7 @@ } public final RepeatingNode getRepeatingNode() { - return (RepeatingNode) repeatingNode; + return repeatingNode; } }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RepeatingNode.java Wed Jan 07 13:40:01 2015 +0100 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RepeatingNode.java Mon Jan 05 19:01:01 2015 +0100 @@ -29,7 +29,7 @@ /** * Experimental API: may change significantly without notice. */ -public interface RepeatingNode { +public interface RepeatingNode extends NodeInterface { boolean executeRepeating(VirtualFrame frame);