From b09b89d1c786e8b85764193701a0f9b562f80807 Mon Sep 17 00:00:00 2001
From: Florian Angerer <florian.angerer@oracle.com>
Date: Mon, 15 May 2017 13:15:47 +0200
Subject: [PATCH] Modified taggging semantics to be able to register
 breakpoints to top-level call statements.

---
 .../com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java  | 6 ++++--
 1 file changed, 4 insertions(+), 2 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 378c3219ae..8a329dc6d3 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
@@ -72,6 +72,7 @@ import com.oracle.truffle.r.runtime.RInternalError;
 import com.oracle.truffle.r.runtime.RRuntimeASTAccess;
 import com.oracle.truffle.r.runtime.RSrcref;
 import com.oracle.truffle.r.runtime.ReturnException;
+import com.oracle.truffle.r.runtime.RootWithBody;
 import com.oracle.truffle.r.runtime.Utils;
 import com.oracle.truffle.r.runtime.context.Engine;
 import com.oracle.truffle.r.runtime.context.RContext;
@@ -520,7 +521,8 @@ class RRuntimeASTAccessImpl implements RRuntimeASTAccess {
         String className = tag.getSimpleName();
         switch (className) {
             case "CallTag":
-                return node instanceof RCallNode;
+                // TODO: should just mark calls to other languages
+                return false;
 
             case "StatementTag": {
                 Node parent = ((RInstrumentableNode) node).unwrapParent();
@@ -541,7 +543,7 @@ class RRuntimeASTAccessImpl implements RRuntimeASTAccess {
 
             case "RootTag": {
                 Node parent = ((RInstrumentableNode) node).unwrapParent();
-                return parent instanceof FunctionDefinitionNode;
+                return parent instanceof FunctionDefinitionNode || parent instanceof RootWithBody;
             }
 
             case "LoopTag":
-- 
GitLab