You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2021/01/07 06:38:26 UTC

[GitHub] [netbeans] JaroslavTulach commented on a change in pull request #2643: Display Java + Truffle guest frames correctly.

JaroslavTulach commented on a change in pull request #2643:
URL: https://github.com/apache/netbeans/pull/2643#discussion_r553128615



##########
File path: java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleActionsProvider.java
##########
@@ -96,20 +122,60 @@ public void performDefaultAction(NodeActionsProvider original, Object node) thro
             }
             return actions;*/
         } else {
-            return original.getActions(node);
+            Action[] actions = original.getActions(node);
+            if (node instanceof DebuggingView.DVThread && hasGuestInfo(node)) {
+                Action showAction;
+                if (!isShowAllHostFrames((DebuggingView.DVThread) node)) {
+                    showAction = SHOW_HOST_ACTION;

Review comment:
       There is going to be an action "Show/Hide Java Frames", great!

##########
File path: java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/models/DebuggingTruffleTreeModel.java
##########
@@ -47,15 +50,15 @@
 import org.netbeans.spi.viewmodel.TreeModelFilter;
 import org.netbeans.spi.viewmodel.UnknownTypeException;
 
-@DebuggerServiceRegistration(path="netbeans-JPDASession/"+TruffleStrataProvider.TRUFFLE_STRATUM+"/DebuggingView",

Review comment:
       Introducing new path for Truffle? That forms an API and might be good to be documented somewhere - for example in `arch.xml` with `group="layer"`. But I understand that the content of `netbeans-JPDASession` registration hasn't been documented in great detail yet...

##########
File path: java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/source/Source.java
##########
@@ -118,14 +124,16 @@ public static URI getTruffleInternalURI(FileObject fo) {
     
     public static Source getSource(JPDADebugger debugger, long id,
                                    String name,
+                                   String hostMethodName,
                                    String path,
                                    URI uri,
                                    StringReference codeRef) {
-        return getSource(debugger, id, name, path, uri, null, codeRef);
+        return getSource(debugger, id, name, hostMethodName, path, uri, null, codeRef);
     }
 
     public static Source getSource(JPDADebugger debugger, long id,
                                    String name,
+                                   String hostMethodName,

Review comment:
       Class org.netbeans.modules.debugger.jpda.truffle.source.Source
   Sigtest reports:
   ```
     "E1.2 - API type removed" : method 
   public final static org.netbeans.modules.debugger.jpda.truffle.source.Source Source.getSource(
     org.netbeans.api.debugger.jpda.JPDADebugger,
     long,
     java.lang.String,java.lang.
     String,java.net.URI,
     com.sun.jdi.StringReference
   )
   ```
   consider keeping the old method and passing `null` as the `hostMethodName`.

##########
File path: java/debugger.jpda.truffle/src/org/netbeans/modules/debugger/jpda/truffle/frames/TruffleStackInfo.java
##########
@@ -41,19 +41,21 @@
 public final class TruffleStackInfo {
     
     private static final String METHOD_GET_FRAMES_INFO = "getFramesInfo";       // NOI18N
-    private static final String METHOD_GET_FRAMES_INFO_SIG = "([Lcom/oracle/truffle/api/debug/DebugStackFrame;Z)[Ljava/lang/Object;";   // NOI18N
+    private static final String METHOD_GET_FRAMES_INFO_SIG = "([Lcom/oracle/truffle/api/debug/DebugStackFrame;ZZ)[Ljava/lang/Object;";   // NOI18N
     
     private final JPDADebugger debugger;
     private final JPDAThread thread;
     private final ObjectVariable stackTrace;
+    private final boolean supportsJavaFrames;
     private TruffleStackFrame[] stackFrames;
     private boolean includedInternalFrames;
     private boolean areInternalFrames;
 
-    public TruffleStackInfo(JPDADebugger debugger, JPDAThread thread, ObjectVariable stackTrace) {
+    public TruffleStackInfo(JPDADebugger debugger, JPDAThread thread, ObjectVariable stackTrace, boolean supportsJavaFrames) {

Review comment:
       Sigtest reports:
   ```
    "E5.4 - Removing constructor" : 
   constructor public org.netbeans.modules.debugger.jpda.truffle.frames.TruffleStackInfo.init(
     org.netbeans.api.debugger.jpda.JPDADebugger,
     org.netbeans.api.debugger.jpda.JPDAThread,
     org.netbeans.api.debugger.jpda.ObjectVariable
   )
   ```
   please add new constructor, keep the old one.
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists