class com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode extends com.oracle.truffle.api.instrumentation.ExecutionEventNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode
  super_class: com.oracle.truffle.api.instrumentation.ExecutionEventNode
{
  private final com.oracle.truffle.api.nodes.Node instrumentedNode;
    descriptor: Lcom/oracle/truffle/api/nodes/Node;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile com.oracle.truffle.api.nodes.ExecutableNode inlineNode;
    descriptor: Lcom/oracle/truffle/api/nodes/ExecutableNode;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal()

  final com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this$1;
    descriptor: Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory, com.oracle.truffle.api.instrumentation.EventContext);
    descriptor: (Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 2 // com.oracle.truffle.api.instrumentation.EventContext context
         0: .line 173
            aload 0 /* this */
            aload 1
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.instrumentation.ExecutionEventNode.<init>:()V
         1: .line 174
            aload 0 /* this */
            aload 2 /* context */
            invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.instrumentedNode:Lcom/oracle/truffle/api/nodes/Node;
         2: .line 175
            return
        end local 2 // com.oracle.truffle.api.instrumentation.EventContext context
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            0    3     2  context  Lcom/oracle/truffle/api/instrumentation/EventContext;
    MethodParameters:
         Name  Flags
      this$0   final
      context  

  protected void onEnter(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 179
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.executeSnippet:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
         1: .line 180
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            0    2     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
    MethodParameters:
       Name  Flags
      frame  

  protected void onReturnValue(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Object result
         0: .line 184
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.executeSnippet:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
         1: .line 185
            return
        end local 2 // java.lang.Object result
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            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=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Throwable exception
         0: .line 189
            aload 0 /* this */
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.executeSnippet:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
         1: .line 190
            return
        end local 2 // java.lang.Throwable exception
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            0    2     1      frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    2     2  exception  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      frame      
      exception  

  private void executeSnippet(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 193
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.inlineNode:Lcom/oracle/truffle/api/nodes/ExecutableNode;
            ifnonnull 11
         1: .line 194
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.access$0:(Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;)Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippet:Lcom/oracle/truffle/api/source/Source;
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.instrumentedNode:Lcom/oracle/truffle/api/nodes/Node;
            aload 1 /* frame */
            invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.parseInline:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Lcom/oracle/truffle/api/nodes/ExecutableNode;
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.inlineNode:Lcom/oracle/truffle/api/nodes/ExecutableNode;
         3: .line 197
            goto 9
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
         4: astore 2 /* t */
        start local 2 // java.lang.ThreadDeath t
         5: .line 198
            aload 2 /* t */
            athrow
        end local 2 // java.lang.ThreadDeath t
         6: .line 199
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         7: .line 200
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.verify:(Ljava/lang/Throwable;)V
         8: .line 201
            aload 2 /* t */
            athrow
        end local 2 // java.lang.Throwable t
         9: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.inlineNode:Lcom/oracle/truffle/api/nodes/ExecutableNode;
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            pop
        10: .line 204
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            iconst_1
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippetExecuted:Z
        11: .line 206
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.enter:()V
        12: .line 208
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.inlineNode:Lcom/oracle/truffle/api/nodes/ExecutableNode;
            aload 1 /* frame */
            invokevirtual com.oracle.truffle.api.nodes.ExecutableNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
            astore 2 /* ret */
        start local 2 // java.lang.Object ret
        13: .line 209
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.resultVerifier:Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
            ifnull 25
        14: .line 210
            aload 0 /* this */
            aload 2 /* ret */
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.verify:(Ljava/lang/Object;)V
        end local 2 // java.lang.Object ret
        15: .line 212
            goto 25
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        16: astore 2 /* t */
        start local 2 // java.lang.ThreadDeath t
        17: .line 213
            aload 2 /* t */
            athrow
        end local 2 // java.lang.ThreadDeath t
        18: .line 214
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        19: .line 215
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
        20: .line 216
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.verify:(Ljava/lang/Throwable;)V
        21: .line 217
            aload 2 /* t */
            athrow
        end local 2 // java.lang.Throwable t
        22: .line 218
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        23: .line 219
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.leave:()V
        24: .line 220
            aload 3
            athrow
        25: .line 219
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.leave:()V
        26: .line 221
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0   this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            0   27     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            5    6     2      t  Ljava/lang/ThreadDeath;
            7    9     2      t  Ljava/lang/Throwable;
           13   15     2    ret  Ljava/lang/Object;
           17   18     2      t  Ljava/lang/ThreadDeath;
           19   22     2      t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.ThreadDeath
           2     3       6  Class java.lang.Throwable
          12    15      16  Class java.lang.ThreadDeath
          12    15      18  Class java.lang.Throwable
          12    22      22  any
    MethodParameters:
       Name  Flags
      frame  

  private void verify(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 1 // java.lang.Throwable exception
         0: .line 225
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippet:Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
            aload 1 /* exception */
            invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.wrapGuestException:(Ljava/lang/String;Ljava/lang/Throwable;)Lorg/graalvm/polyglot/PolyglotException;
            astore 2 /* pe */
        start local 2 // org.graalvm.polyglot.PolyglotException pe
         1: .line 226
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.resultVerifier:Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
            aload 2 /* pe */
            invokeinterface com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier.verify:(Lorg/graalvm/polyglot/PolyglotException;)V
         2: .line 227
            return
        end local 2 // org.graalvm.polyglot.PolyglotException pe
        end local 1 // java.lang.Throwable exception
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            0    3     1  exception  Ljava/lang/Throwable;
            1    3     2         pe  Lorg/graalvm/polyglot/PolyglotException;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      exception  final

  private void verify(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
        start local 1 // java.lang.Object result
         0: .line 231
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.this$1:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.resultVerifier:Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
            aload 1 /* result */
            invokeinterface com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier.verify:(Ljava/lang/Object;)V
         1: .line 232
            return
        end local 1 // java.lang.Object result
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory$InlineScriptNode;
            0    2     1  result  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      result  final
}
SourceFile: "VerifierInstrument.java"
NestHost: com.oracle.truffle.tck.instrumentation.VerifierInstrument
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  public abstract ResultVerifier = com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier of com.oracle.truffle.tck.common.inline.InlineVerifier
  private InlineScriptFactory = com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory of com.oracle.truffle.tck.instrumentation.VerifierInstrument
  private InlineScriptNode = com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode of com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory
  final TruffleTCKAccessor = com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor of com.oracle.truffle.tck.instrumentation.VerifierInstrument