# HG changeset patch # User Andreas Woess # Date 1420480861 -3600 # Node ID e688e42b41e38f69d1b2501e0c36e34c67c82bfa # Parent 7bb1abca2c0dc6b0a7a277071e3ef1ce0e9dab7c Truffle: LoopNode: child field type can be RepeatingNode now diff -r 7bb1abca2c0d -r e688e42b41e3 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/LoopNode.java --- 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; } } diff -r 7bb1abca2c0d -r e688e42b41e3 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RepeatingNode.java --- 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);