public class com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event
  super_class: java.lang.Object
{
  protected final com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind kind;
    descriptor: Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.Object val;
    descriptor: Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final com.oracle.truffle.js.nodes.JavaScriptNode instrumentedNode;
    descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final com.oracle.truffle.api.instrumentation.EventContext context;
    descriptor: Lcom/oracle/truffle/api/instrumentation/EventContext;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final java.lang.Object[] others;
    descriptor: [Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind, com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Object, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event this
        start local 1 // com.oracle.truffle.api.instrumentation.EventContext context
        start local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind kind
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode instrumentedNode
        start local 4 // java.lang.Object inputValue
        start local 5 // java.lang.Object[] others
         0: .line 154
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 158
            aload 0 /* this */
            aload 1 /* context */
            putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
         2: .line 159
            aload 0 /* this */
            aload 2 /* kind */
            putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.kind:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
         3: .line 160
            aload 0 /* this */
            aload 4 /* inputValue */
            putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
         4: .line 161
            aload 0 /* this */
            aload 3 /* instrumentedNode */
            putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.instrumentedNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
         5: .line 162
            aload 0 /* this */
            aload 5 /* others */
            putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.others:[Ljava/lang/Object;
         6: .line 163
            return
        end local 5 // java.lang.Object[] others
        end local 4 // java.lang.Object inputValue
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode instrumentedNode
        end local 2 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind kind
        end local 1 // com.oracle.truffle.api.instrumentation.EventContext context
        end local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
            0    7     1           context  Lcom/oracle/truffle/api/instrumentation/EventContext;
            0    7     2              kind  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
            0    7     3  instrumentedNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    7     4        inputValue  Ljava/lang/Object;
            0    7     5            others  [Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      context           
      kind              
      instrumentedNode  
      inputValue        
      others            

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event this
         0: .line 167
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.kind:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
            invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind.name:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
}
SourceFile: "FineGrainedAccessTest.java"
NestHost: com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
InnerClasses:
  protected Event = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
  final Kind = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event