From 083c5ea4b2f4dcfe5f94495fed1cdeebcf8eccee Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Wed, 9 Nov 2016 14:47:25 +0100 Subject: [PATCH] provide better source sections in various places --- .../src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java | 2 +- .../src/com/oracle/truffle/r/nodes/control/BreakNode.java | 3 ++- .../src/com/oracle/truffle/r/runtime/RDeparse.java | 2 +- .../src/com/oracle/truffle/r/runtime/nodes/RSyntaxLookup.java | 3 +-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java index e35e7bff99..60b6a08902 100644 --- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java +++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java @@ -186,7 +186,7 @@ class RRuntimeASTAccessImpl implements RRuntimeASTAccess { } else { result = call.getSyntaxArguments()[index - 1]; if (result == null) { - result = RSyntaxLookup.createDummyLookup(null, "", false); + result = RSyntaxLookup.createDummyLookup(RSyntaxNode.LAZY_DEPARSE, "", false); } } } else if (s instanceof RSyntaxFunction) { diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/control/BreakNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/control/BreakNode.java index fc8bfd04c6..c7053bbd4e 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/control/BreakNode.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/control/BreakNode.java @@ -27,12 +27,13 @@ import com.oracle.truffle.api.source.SourceSection; import com.oracle.truffle.r.nodes.function.visibility.SetVisibilityNode; import com.oracle.truffle.r.runtime.ArgumentsSignature; import com.oracle.truffle.r.runtime.nodes.RSyntaxElement; +import com.oracle.truffle.r.runtime.nodes.RSyntaxLookup; public final class BreakNode extends OperatorNode { @Child private SetVisibilityNode visibility = SetVisibilityNode.create(); - public BreakNode(SourceSection src, RSyntaxElement operator) { + public BreakNode(SourceSection src, RSyntaxLookup operator) { super(src, operator); } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java index b1129553c4..17ab018095 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java @@ -772,7 +772,7 @@ public class RDeparse { private static RSyntaxElement wrap(Object v, boolean isCallLHS) { Object value = RRuntime.asAbstractVector(v); if (value instanceof RSymbol) { - return RSyntaxLookup.createDummyLookup(null, ((RSymbol) value).getName(), isCallLHS); + return RSyntaxLookup.createDummyLookup(RSyntaxNode.INTERNAL, ((RSymbol) value).getName(), isCallLHS); } else if (value instanceof RLanguage) { return ((RLanguage) value).getRep().asRSyntaxNode(); } else if (value instanceof RPairList) { diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RSyntaxLookup.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RSyntaxLookup.java index d3c0626c40..eb5d2c888e 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RSyntaxLookup.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/nodes/RSyntaxLookup.java @@ -41,8 +41,7 @@ public interface RSyntaxLookup extends RSyntaxElement { * characters of the original source section (if non-null) will be used as the new source * section. */ - static RSyntaxLookup createDummyLookup(SourceSection originalSource, String identifier, boolean isFunctionLookup) { - SourceSection source = originalSource == null || originalSource.getCharEndIndex() == 0 ? null : originalSource.getSource().createSection(originalSource.getCharIndex(), 1); + static RSyntaxLookup createDummyLookup(SourceSection source, String identifier, boolean isFunctionLookup) { return new RSyntaxLookup() { @Override public SourceSection getLazySourceSection() { -- GitLab