diff graal/com.oracle.truffle.ruby.parser/src/com/oracle/truffle/ruby/parser/Translator.java @ 13556:44288fe54352

Ruby: fix some ?break? semantics.
author Chris Seaton <chris.seaton@oracle.com>
date Wed, 08 Jan 2014 17:42:10 +0000
parents 0fbee3eb71f0
children d7af2296cebb
line wrap: on
line diff
--- a/graal/com.oracle.truffle.ruby.parser/src/com/oracle/truffle/ruby/parser/Translator.java	Wed Jan 08 17:10:18 2014 +0000
+++ b/graal/com.oracle.truffle.ruby.parser/src/com/oracle/truffle/ruby/parser/Translator.java	Wed Jan 08 17:42:10 2014 +0000
@@ -1484,7 +1484,17 @@
 
     @Override
     public Object visitNextNode(org.jrubyparser.ast.NextNode node) {
-        return new NextNode(context, translate(node.getPosition()));
+        final SourceSection sourceSection = translate(node.getPosition());
+
+        RubyNode resultNode;
+
+        if (node.getValueNode() == null) {
+            resultNode = new NilNode(context, sourceSection);
+        } else {
+            resultNode = (RubyNode) node.getValueNode().accept(this);
+        }
+
+        return new NextNode(context, sourceSection, resultNode);
     }
 
     @Override