class com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException extends com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException
  super_class: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode
{
  void <init>(com.oracle.truffle.api.debug.Breakpoint, com.oracle.truffle.api.instrumentation.EventContext);
    descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
        start local 1 // com.oracle.truffle.api.debug.Breakpoint breakpoint
        start local 2 // com.oracle.truffle.api.instrumentation.EventContext context
         0: .line 1252
            aload 0 /* this */
            aload 1 /* breakpoint */
            aload 2 /* context */
            invokespecial com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
         1: .line 1253
            return
        end local 2 // com.oracle.truffle.api.instrumentation.EventContext context
        end local 1 // com.oracle.truffle.api.debug.Breakpoint breakpoint
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
            0    2     1  breakpoint  Lcom/oracle/truffle/api/debug/Breakpoint;
            0    2     2     context  Lcom/oracle/truffle/api/instrumentation/EventContext;
    MethodParameters:
            Name  Flags
      breakpoint  
      context     

  java.util.Set<com.oracle.truffle.api.debug.SuspendAnchor> getSuspendAnchors();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
         0: .line 1257
            getstatic com.oracle.truffle.api.debug.DebuggerSession.ANCHOR_SET_AFTER:Ljava/util/Set;
            areturn
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
    Signature: ()Ljava/util/Set<Lcom/oracle/truffle/api/debug/SuspendAnchor;>;

  boolean isActiveAt(com.oracle.truffle.api.debug.SuspendAnchor);
    descriptor: (Lcom/oracle/truffle/api/debug/SuspendAnchor;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
        start local 1 // com.oracle.truffle.api.debug.SuspendAnchor anchor
         0: .line 1262
            getstatic com.oracle.truffle.api.debug.SuspendAnchor.AFTER:Lcom/oracle/truffle/api/debug/SuspendAnchor;
            aload 1 /* anchor */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // com.oracle.truffle.api.debug.SuspendAnchor anchor
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
            0    2     1  anchor  Lcom/oracle/truffle/api/debug/SuspendAnchor;
    MethodParameters:
        Name  Flags
      anchor  

  public void onEnter(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 1267
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getBreakpoint:()Lcom/oracle/truffle/api/debug/Breakpoint;
            getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
            invokevirtual com.oracle.truffle.api.debug.BreakpointExceptionFilter.resetReportedException:()V
         1: .line 1268
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
            0    2     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
    MethodParameters:
       Name  Flags
      frame  

  public void onReturnValue(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Object result
         0: .line 1272
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getBreakpoint:()Lcom/oracle/truffle/api/debug/Breakpoint;
            getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
            invokevirtual com.oracle.truffle.api.debug.BreakpointExceptionFilter.resetReportedException:()V
         1: .line 1273
            return
        end local 2 // java.lang.Object result
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
            0    2     1   frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    2     2  result  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      frame   
      result  

  protected void onReturnExceptional(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Throwable);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Throwable exception
         0: .line 1277
            aload 2 /* exception */
            instanceof com.oracle.truffle.api.nodes.ControlFlowException
            ifne 13
            aload 2 /* exception */
            instanceof java.lang.ThreadDeath
            ifne 13
         1: .line 1278
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.computeUniqueActiveSessions:()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
            astore 3 /* sessions */
        start local 3 // com.oracle.truffle.api.debug.Breakpoint$SessionList sessions
         2: .line 1279
            aload 3 /* sessions */
            ifnonnull 4
         3: .line 1280
            return
         4: .line 1282
      StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getBreakpoint:()Lcom/oracle/truffle/api/debug/Breakpoint;
            getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getContext:()Lcom/oracle/truffle/api/instrumentation/EventContext;
            invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
            aload 2 /* exception */
            invokevirtual com.oracle.truffle.api.debug.BreakpointExceptionFilter.matchException:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Throwable;)Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;
            astore 4 /* matched */
        start local 4 // com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match matched
         5: .line 1283
            aload 4 /* matched */
            getfield com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match.isMatched:Z
            ifeq 13
         6: .line 1284
            aconst_null
            astore 5 /* conditionError */
        start local 5 // com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure conditionError
         7: .line 1286
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.testCondition:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
            ifne 11
         8: .line 1287
            return
         9: .line 1289
      StackMap locals: com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException com.oracle.truffle.api.frame.VirtualFrame java.lang.Throwable com.oracle.truffle.api.debug.Breakpoint$SessionList com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
      StackMap stack: com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
            astore 6 /* e */
        start local 6 // com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure e
        10: .line 1290
            aload 6 /* e */
            astore 5 /* conditionError */
        end local 6 // com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure e
        11: .line 1292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.breakBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        12: .line 1293
            aload 0 /* this */
            aload 1 /* frame */
            invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
            aload 3 /* sessions */
            aload 5 /* conditionError */
            aload 2 /* exception */
            aload 4 /* matched */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.doBreak:(Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;Ljava/lang/Throwable;Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;)V
        end local 5 // com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure conditionError
        end local 4 // com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match matched
        end local 3 // com.oracle.truffle.api.debug.Breakpoint$SessionList sessions
        13: .line 1296
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable exception
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
            0   14     1           frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0   14     2       exception  Ljava/lang/Throwable;
            2   13     3        sessions  Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
            5   13     4         matched  Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;
            7   13     5  conditionError  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
           10   11     6               e  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
      Exception table:
        from    to  target  type
           7     8       9  Class com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
    MethodParameters:
           Name  Flags
      frame      
      exception  

  void doBreak(com.oracle.truffle.api.frame.MaterializedFrame, com.oracle.truffle.api.debug.Breakpoint$SessionList, com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure, java.lang.Throwable, com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match);
    descriptor: (Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;Ljava/lang/Throwable;Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;)V
    flags: (0x0000) 
    Code:
      stack=13, locals=7, args_size=6
        start local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
        start local 1 // com.oracle.truffle.api.frame.MaterializedFrame frame
        start local 2 // com.oracle.truffle.api.debug.Breakpoint$SessionList debuggerSessions
        start local 3 // com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure conditionError
        start local 4 // java.lang.Throwable exception
        start local 5 // com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match matched
         0: .line 1300
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getContext:()Lcom/oracle/truffle/api/instrumentation/EventContext;
            invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
            astore 6 /* throwLocation */
        start local 6 // com.oracle.truffle.api.nodes.Node throwLocation
         1: .line 1301
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getBreakpoint:()Lcom/oracle/truffle/api/debug/Breakpoint;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.getContext:()Lcom/oracle/truffle/api/instrumentation/EventContext;
            aload 0 /* this */
            aload 2 /* debuggerSessions */
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException.activeOnNoninternalCalls:Z
            aload 1 /* frame */
            iconst_0
            aconst_null
            aload 4 /* exception */
            aload 6 /* throwLocation */
            aload 5 /* matched */
            getfield com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match.isCatchNodeComputed:Z
            aload 5 /* matched */
            getfield com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match.catchLocation:Lcom/oracle/truffle/api/debug/DebugException$CatchLocation;
         2: .line 1302
            aload 3 /* conditionError */
         3: .line 1301
            invokevirtual com.oracle.truffle.api.debug.Breakpoint.doBreak:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/DebuggerNode;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;ZLcom/oracle/truffle/api/frame/MaterializedFrame;ZLjava/lang/Object;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;ZLcom/oracle/truffle/api/debug/DebugException$CatchLocation;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;)Ljava/lang/Object;
            pop
         4: .line 1303
            return
        end local 6 // com.oracle.truffle.api.nodes.Node throwLocation
        end local 5 // com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match matched
        end local 4 // java.lang.Throwable exception
        end local 3 // com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure conditionError
        end local 2 // com.oracle.truffle.api.debug.Breakpoint$SessionList debuggerSessions
        end local 1 // com.oracle.truffle.api.frame.MaterializedFrame frame
        end local 0 // com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointAfterNodeException;
            0    5     1             frame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            0    5     2  debuggerSessions  Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
            0    5     3    conditionError  Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
            0    5     4         exception  Ljava/lang/Throwable;
            0    5     5           matched  Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;
            1    5     6     throwLocation  Lcom/oracle/truffle/api/nodes/Node;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      frame             
      debuggerSessions  
      conditionError    
      exception         
      matched           
}
SourceFile: "Breakpoint.java"
NestHost: com.oracle.truffle.api.debug.Breakpoint
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  private abstract AbstractBreakpointNode = com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode of com.oracle.truffle.api.debug.Breakpoint
  private BreakpointAfterNodeException = com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException of com.oracle.truffle.api.debug.Breakpoint
  final BreakpointConditionFailure = com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure of com.oracle.truffle.api.debug.Breakpoint
  final SessionList = com.oracle.truffle.api.debug.Breakpoint$SessionList of com.oracle.truffle.api.debug.Breakpoint
  final Match = com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match of com.oracle.truffle.api.debug.BreakpointExceptionFilter
  public final CatchLocation = com.oracle.truffle.api.debug.DebugException$CatchLocation of com.oracle.truffle.api.debug.DebugException