class com.oracle.truffle.tools.profiler.HeapMonitor$1 implements com.oracle.truffle.api.instrumentation.ContextsListener
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.tools.profiler.HeapMonitor$1
  super_class: java.lang.Object
{
  final com.oracle.truffle.tools.profiler.HeapMonitor this$0;
    descriptor: Lcom/oracle/truffle/tools/profiler/HeapMonitor;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.oracle.truffle.tools.profiler.HeapMonitor);
    descriptor: (Lcom/oracle/truffle/tools/profiler/HeapMonitor;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
         0: .line 97
            aload 0 /* this */
            aload 1
            putfield com.oracle.truffle.tools.profiler.HeapMonitor$1.this$0:Lcom/oracle/truffle/tools/profiler/HeapMonitor;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public void onContextCreated(com.oracle.truffle.api.TruffleContext);
    descriptor: (Lcom/oracle/truffle/api/TruffleContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
        start local 1 // com.oracle.truffle.api.TruffleContext context
         0: .line 101
            return
        end local 1 // com.oracle.truffle.api.TruffleContext context
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
            0    1     1  context  Lcom/oracle/truffle/api/TruffleContext;
    MethodParameters:
         Name  Flags
      context  

  public void onLanguageContextCreated(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
        start local 1 // com.oracle.truffle.api.TruffleContext context
        start local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
         0: .line 106
            return
        end local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
        end local 1 // com.oracle.truffle.api.TruffleContext context
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
            0    1     1   context  Lcom/oracle/truffle/api/TruffleContext;
            0    1     2  language  Lcom/oracle/truffle/api/nodes/LanguageInfo;
    MethodParameters:
          Name  Flags
      context   
      language  

  public void onLanguageContextInitialized(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
        start local 1 // com.oracle.truffle.api.TruffleContext context
        start local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
         0: .line 110
            aload 0 /* this */
            getfield com.oracle.truffle.tools.profiler.HeapMonitor$1.this$0:Lcom/oracle/truffle/tools/profiler/HeapMonitor;
            getfield com.oracle.truffle.tools.profiler.HeapMonitor.initializedLanguages:Ljava/util/Map;
            aload 2 /* language */
            aload 2 /* language */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 111
            return
        end local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
        end local 1 // com.oracle.truffle.api.TruffleContext context
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
            0    2     1   context  Lcom/oracle/truffle/api/TruffleContext;
            0    2     2  language  Lcom/oracle/truffle/api/nodes/LanguageInfo;
    MethodParameters:
          Name  Flags
      context   
      language  

  public void onLanguageContextFinalized(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
        start local 1 // com.oracle.truffle.api.TruffleContext context
        start local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
         0: .line 115
            aload 0 /* this */
            getfield com.oracle.truffle.tools.profiler.HeapMonitor$1.this$0:Lcom/oracle/truffle/tools/profiler/HeapMonitor;
            getfield com.oracle.truffle.tools.profiler.HeapMonitor.initializedLanguages:Ljava/util/Map;
            aload 2 /* language */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 116
            return
        end local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
        end local 1 // com.oracle.truffle.api.TruffleContext context
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
            0    2     1   context  Lcom/oracle/truffle/api/TruffleContext;
            0    2     2  language  Lcom/oracle/truffle/api/nodes/LanguageInfo;
    MethodParameters:
          Name  Flags
      context   
      language  

  public void onLanguageContextDisposed(com.oracle.truffle.api.TruffleContext, com.oracle.truffle.api.nodes.LanguageInfo);
    descriptor: (Lcom/oracle/truffle/api/TruffleContext;Lcom/oracle/truffle/api/nodes/LanguageInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
        start local 1 // com.oracle.truffle.api.TruffleContext context
        start local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
         0: .line 121
            return
        end local 2 // com.oracle.truffle.api.nodes.LanguageInfo language
        end local 1 // com.oracle.truffle.api.TruffleContext context
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
            0    1     1   context  Lcom/oracle/truffle/api/TruffleContext;
            0    1     2  language  Lcom/oracle/truffle/api/nodes/LanguageInfo;
    MethodParameters:
          Name  Flags
      context   
      language  

  public void onContextClosed(com.oracle.truffle.api.TruffleContext);
    descriptor: (Lcom/oracle/truffle/api/TruffleContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
        start local 1 // com.oracle.truffle.api.TruffleContext context
         0: .line 126
            return
        end local 1 // com.oracle.truffle.api.TruffleContext context
        end local 0 // com.oracle.truffle.tools.profiler.HeapMonitor$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/tools/profiler/HeapMonitor$1;
            0    1     1  context  Lcom/oracle/truffle/api/TruffleContext;
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "HeapMonitor.java"
EnclosingMethod: com.oracle.truffle.tools.profiler.HeapMonitor.<init>:(Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
NestHost: com.oracle.truffle.tools.profiler.HeapMonitor
InnerClasses:
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  com.oracle.truffle.tools.profiler.HeapMonitor$1