Skip to content
Snippets Groups Projects
Commit 3fcf4af3 authored by Julien Lopez's avatar Julien Lopez
Browse files

Fix in overriding of dollar operator for queries

parent 9f334ff7
No related branches found
No related tags found
No related merge requests found
...@@ -71,16 +71,16 @@ public final class RQIRWrapperNode extends RSourceSectionNode implements RSyntax ...@@ -71,16 +71,16 @@ public final class RQIRWrapperNode extends RSourceSectionNode implements RSyntax
@Override @Override
public RSyntaxElement[] getSyntaxArgumentDefaults() { public RSyntaxElement[] getSyntaxArgumentDefaults() {
return null; return new RSyntaxElement[0];
} }
@Override @Override
public RSyntaxElement getSyntaxBody() { public RSyntaxElement getSyntaxBody() {
return null; return this;
} }
@Override @Override
public String getSyntaxDebugName() { public String getSyntaxDebugName() {
return null; return getSourceSection().getCode();
} }
} }
...@@ -26,14 +26,10 @@ import com.oracle.truffle.api.frame.VirtualFrame; ...@@ -26,14 +26,10 @@ import com.oracle.truffle.api.frame.VirtualFrame;
import com.oracle.truffle.api.nodes.NodeInfo; import com.oracle.truffle.api.nodes.NodeInfo;
import com.oracle.truffle.api.object.DynamicObject; import com.oracle.truffle.api.object.DynamicObject;
import com.oracle.truffle.api.source.SourceSection; import com.oracle.truffle.api.source.SourceSection;
import com.oracle.truffle.r.runtime.ArgumentsSignature;
import com.oracle.truffle.r.runtime.nodes.RSourceSectionNode; import com.oracle.truffle.r.runtime.nodes.RSourceSectionNode;
import com.oracle.truffle.r.runtime.nodes.RSyntaxElement;
import com.oracle.truffle.r.runtime.nodes.RSyntaxFunction;
import com.oracle.truffle.r.runtime.nodes.RSyntaxNode;
@NodeInfo(shortName = "Query") @NodeInfo(shortName = "Query")
public abstract class RQueryNode extends RSourceSectionNode implements RSyntaxNode, RSyntaxFunction { public abstract class RQueryNode extends RSourceSectionNode {
public RQueryNode(final SourceSection src) { public RQueryNode(final SourceSection src) {
super(src); super(src);
} }
...@@ -42,24 +38,4 @@ public abstract class RQueryNode extends RSourceSectionNode implements RSyntaxNo ...@@ -42,24 +38,4 @@ public abstract class RQueryNode extends RSourceSectionNode implements RSyntaxNo
public final DynamicObject execute(final VirtualFrame frame) { public final DynamicObject execute(final VirtualFrame frame) {
throw new RuntimeException("We should not execute a RQueryNode directly."); throw new RuntimeException("We should not execute a RQueryNode directly.");
} }
@Override
public ArgumentsSignature getSyntaxSignature() {
return null;
}
@Override
public RSyntaxElement[] getSyntaxArgumentDefaults() {
return null;
}
@Override
public RSyntaxElement getSyntaxBody() {
return null;
}
@Override
public String getSyntaxDebugName() {
return null;
}
} }
...@@ -200,6 +200,8 @@ public interface RCodeBuilder<T> { ...@@ -200,6 +200,8 @@ public interface RCodeBuilder<T> {
@Override @Override
protected T visit(RSyntaxFunction element) { protected T visit(RSyntaxFunction element) {
if (element.getSyntaxBody() == element)
return (T) element;
ArrayList<Argument<T>> params = createArguments(element.getSyntaxSignature(), element.getSyntaxArgumentDefaults()); ArrayList<Argument<T>> params = createArguments(element.getSyntaxSignature(), element.getSyntaxArgumentDefaults());
return function(element.getLazySourceSection(), params, accept(element.getSyntaxBody()), element.getSyntaxDebugName()); return function(element.getLazySourceSection(), params, accept(element.getSyntaxBody()), element.getSyntaxDebugName());
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment