class com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory implements com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory
  super_class: java.lang.Object
{
  private final com.oracle.truffle.api.source.Source snippet;
    descriptor: Lcom/oracle/truffle/api/source/Source;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.function.Predicate<org.graalvm.polyglot.SourceSection> predicate;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Lorg/graalvm/polyglot/SourceSection;>;

  private final com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier resultVerifier;
    descriptor: Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  volatile boolean snippetExecuted;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

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

  void <init>(com.oracle.truffle.tck.instrumentation.VerifierInstrument, java.lang.String, org.graalvm.polyglot.tck.InlineSnippet, com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier);
    descriptor: (Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;Ljava/lang/String;Lorg/graalvm/polyglot/tck/InlineSnippet;Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this
        start local 2 // java.lang.String languageId
        start local 3 // org.graalvm.polyglot.tck.InlineSnippet inlineSnippet
        start local 4 // com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier verifier
         0: .line 146
            aload 0 /* this */
            aload 1
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.this$0:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 144
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippetExecuted:Z
         2: .line 147
            aload 3 /* inlineSnippet */
            invokevirtual org.graalvm.polyglot.tck.InlineSnippet.getCode:()Ljava/lang/CharSequence;
            astore 5 /* code */
        start local 5 // java.lang.CharSequence code
         3: .line 148
            aload 0 /* this */
            aload 2 /* languageId */
            aload 5 /* code */
            ldc "inline_source"
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippet:Lcom/oracle/truffle/api/source/Source;
         4: .line 149
            aload 0 /* this */
            aload 3 /* inlineSnippet */
            invokevirtual org.graalvm.polyglot.tck.InlineSnippet.getLocationPredicate:()Ljava/util/function/Predicate;
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.predicate:Ljava/util/function/Predicate;
         5: .line 150
            aload 0 /* this */
            aload 4 /* verifier */
            putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.resultVerifier:Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
         6: .line 151
            return
        end local 5 // java.lang.CharSequence code
        end local 4 // com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier verifier
        end local 3 // org.graalvm.polyglot.tck.InlineSnippet inlineSnippet
        end local 2 // java.lang.String languageId
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            0    7     2     languageId  Ljava/lang/String;
            0    7     3  inlineSnippet  Lorg/graalvm/polyglot/tck/InlineSnippet;
            0    7     4       verifier  Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
            3    7     5           code  Ljava/lang/CharSequence;
    MethodParameters:
               Name  Flags
      this$0         final
      languageId     
      inlineSnippet  
      verifier       

  public com.oracle.truffle.api.instrumentation.ExecutionEventNode create(com.oracle.truffle.api.instrumentation.EventContext);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this
        start local 1 // com.oracle.truffle.api.instrumentation.EventContext context
         0: .line 155
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.isEntered:()Z
            ifne 3
         1: .line 156
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.predicate:Ljava/util/function/Predicate;
            ifnull 2
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            invokevirtual com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.canRunAt:(Lcom/oracle/truffle/api/source/SourceSection;)Z
            ifeq 3
         2: .line 157
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode
            dup
            aload 0 /* this */
            aload 1 /* context */
            invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode.<init>:(Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
            areturn
         3: .line 160
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // com.oracle.truffle.api.instrumentation.EventContext context
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            0    4     1  context  Lcom/oracle/truffle/api/instrumentation/EventContext;
    MethodParameters:
         Name  Flags
      context  

  private boolean canRunAt(com.oracle.truffle.api.source.SourceSection);
    descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this
        start local 1 // com.oracle.truffle.api.source.SourceSection ss
         0: .line 164
            invokestatic com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor.instrumentAccess:()Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.this$0:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            aconst_null
            aload 1 /* ss */
            invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.createSourceSection:(Ljava/lang/Object;Lorg/graalvm/polyglot/Source;Lcom/oracle/truffle/api/source/SourceSection;)Lorg/graalvm/polyglot/SourceSection;
            astore 2 /* section */
        start local 2 // org.graalvm.polyglot.SourceSection section
         1: .line 165
            aload 0 /* this */
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.predicate:Ljava/util/function/Predicate;
            aload 2 /* section */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // org.graalvm.polyglot.SourceSection section
        end local 1 // com.oracle.truffle.api.source.SourceSection ss
        end local 0 // com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
            0    2     1       ss  Lcom/oracle/truffle/api/source/SourceSection;
            1    2     2  section  Lorg/graalvm/polyglot/SourceSection;
    MethodParameters:
      Name  Flags
      ss    

  static com.oracle.truffle.tck.instrumentation.VerifierInstrument access$0(com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory);
    descriptor: (Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;)Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 139
            aload 0
            getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.this$0:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "VerifierInstrument.java"
NestHost: com.oracle.truffle.tck.instrumentation.VerifierInstrument
InnerClasses:
  public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
  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