class com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode extends com.oracle.truffle.api.nodes.Node implements com.oracle.truffle.api.instrumentation.InstrumentableNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode
  super_class: com.oracle.truffle.api.nodes.Node
{
  private final com.oracle.truffle.api.source.SourceSection sourceSection;
    descriptor: Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?>[] tags;
    descriptor: [Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Ljava/lang/Class<*>;

  void <init>(com.oracle.truffle.api.source.SourceSection, java.lang.Class<?>[]);
    descriptor: (Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class;)V
    flags: (0x0080) ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
        start local 1 // com.oracle.truffle.api.source.SourceSection sourceSection
        start local 2 // java.lang.Class[] tags
         0: .line 120
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
         1: .line 121
            aload 0 /* this */
            aload 1 /* sourceSection */
            putfield com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
         2: .line 122
            aload 0 /* this */
            aload 2 /* tags */
            putfield com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.tags:[Ljava/lang/Class;
         3: .line 123
            return
        end local 2 // java.lang.Class[] tags
        end local 1 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/oracle/truffle/api/instrumentation/test/SourceSectionFilterTest$SourceSectionNode;
            0    4     1  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            0    4     2           tags  [Ljava/lang/Class;
    Signature: (Lcom/oracle/truffle/api/source/SourceSection;[Ljava/lang/Class<*>;)V
    MethodParameters:
               Name  Flags
      sourceSection  
      tags           final

  public com.oracle.truffle.api.source.SourceSection getSourceSection();
    descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
         0: .line 127
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
            areturn
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceSectionFilterTest$SourceSectionNode;

  public boolean isInstrumentable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
         0: .line 131
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceSectionFilterTest$SourceSectionNode;

  public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
        start local 1 // java.lang.Class tag
         0: .line 135
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 136
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.tags:[Ljava/lang/Class;
            iload 2 /* i */
            aaload
            aload 1 /* tag */
            if_acmpne 4
         3: .line 137
            iconst_1
            ireturn
         4: .line 135
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode.tags:[Ljava/lang/Class;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 140
            iconst_0
            ireturn
        end local 1 // java.lang.Class tag
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/oracle/truffle/api/instrumentation/test/SourceSectionFilterTest$SourceSectionNode;
            0    7     1   tag  Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
            1    6     2     i  I
    Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
    MethodParameters:
      Name  Flags
      tag   

  public com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode$WrapperNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
        start local 1 // com.oracle.truffle.api.instrumentation.ProbeNode probe
         0: .line 144
            aconst_null
            areturn
        end local 1 // com.oracle.truffle.api.instrumentation.ProbeNode probe
        end local 0 // com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/api/instrumentation/test/SourceSectionFilterTest$SourceSectionNode;
            0    1     1  probe  Lcom/oracle/truffle/api/instrumentation/ProbeNode;
    MethodParameters:
       Name  Flags
      probe  
}
SourceFile: "SourceSectionFilterTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest
InnerClasses:
  public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
  SourceSectionNode = com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest$SourceSectionNode of com.oracle.truffle.api.instrumentation.test.SourceSectionFilterTest