class org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 extends org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure<java.lang.Void>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1
  super_class: org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure
{
  final org.graalvm.compiler.virtual.phases.ea.EffectsClosure this$0;
    descriptor: Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final java.util.ArrayList val$effectList;
    descriptor: Ljava/util/ArrayList;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.virtual.phases.ea.EffectsClosure, java.util.ArrayList);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure;Ljava/util/ArrayList;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
         0: .line 159
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.this$0:Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure;
            aload 0 /* this */
            aload 2
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.val$effectList:Ljava/util/ArrayList;
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure.<init>:()V
            return
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;
    MethodParameters:
                Name  Flags
      this$0          final
      val$effectList  final

  protected java.lang.Void getInitialState();
    descriptor: ()Ljava/lang/Void;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
         0: .line 163
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;

  private void apply(org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 167
            aload 1 /* effects */
            ifnull 2
            aload 1 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.isEmpty:()Z
            ifne 2
         1: .line 168
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.val$effectList:Ljava/util/ArrayList;
            aload 1 /* effects */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;
            0    3     1  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
    MethodParameters:
         Name  Flags
      effects  

  protected java.lang.Void processBlock(org.graalvm.compiler.nodes.cfg.Block, java.lang.Void);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Void;)Ljava/lang/Void;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
        start local 2 // java.lang.Void currentState
         0: .line 174
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.this$0:Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure;
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure.blockEffects:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.GraphEffectList
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.apply:(Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
         1: .line 175
            aload 2 /* currentState */
            areturn
        end local 2 // java.lang.Void currentState
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;
            0    2     1         block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    2     2  currentState  Ljava/lang/Void;
    MethodParameters:
              Name  Flags
      block         
      currentState  

  protected java.lang.Void merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List<java.lang.Void>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Ljava/lang/Void;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        start local 2 // java.util.List states
         0: .line 180
            aconst_null
            areturn
        end local 2 // java.util.List states
        end local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;
            0    1     1   merge  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    1     2  states  Ljava/util/List<Ljava/lang/Void;>;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List<Ljava/lang/Void;>;)Ljava/lang/Void;
    MethodParameters:
        Name  Flags
      merge   
      states  

  protected java.lang.Void cloneState(java.lang.Void);
    descriptor: (Ljava/lang/Void;)Ljava/lang/Void;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
        start local 1 // java.lang.Void oldState
         0: .line 185
            aload 1 /* oldState */
            areturn
        end local 1 // java.lang.Void oldState
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;
            0    1     1  oldState  Ljava/lang/Void;
    MethodParameters:
          Name  Flags
      oldState  

  protected java.util.List<java.lang.Void> processLoop(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, java.lang.Void);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Void;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // java.lang.Void initialState
         0: .line 190
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* initialState */
            invokestatic org.graalvm.compiler.phases.graph.ReentrantBlockIterator.processLoop:(Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure;Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$LoopInfo;
            astore 3 /* info */
        start local 3 // org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo info
         1: .line 191
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.this$0:Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure;
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsClosure.loopMergeEffects:Lorg/graalvm/collections/EconomicMap;
            aload 1 /* loop */
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.GraphEffectList
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.apply:(Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
         2: .line 192
            aload 3 /* info */
            getfield org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo.exitStates:Ljava/util/List;
            areturn
        end local 3 // org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo info
        end local 2 // java.lang.Void initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$1;
            0    3     1          loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0    3     2  initialState  Ljava/lang/Void;
            1    3     3          info  Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$LoopInfo<Ljava/lang/Void;>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Ljava/lang/Void;)Ljava/util/List<Ljava/lang/Void;>;
    MethodParameters:
              Name  Flags
      loop          
      initialState  

  protected java.lang.Object processBlock(org.graalvm.compiler.nodes.cfg.Block, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Void
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.processBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Void;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.util.List
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.merge:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.util.List processLoop(org.graalvm.compiler.core.common.cfg.Loop, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Void
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.processLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Void;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object getInitialState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.getInitialState:()Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object cloneState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Void
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1.cloneState:(Ljava/lang/Void;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure<Ljava/lang/Void;>;
SourceFile: "EffectsClosure.java"
EnclosingMethod: org.graalvm.compiler.virtual.phases.ea.EffectsClosure.applyEffects:()V
NestHost: org.graalvm.compiler.virtual.phases.ea.EffectsClosure
InnerClasses:
  public abstract BlockIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantBlockIterator
  public LoopInfo = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo of org.graalvm.compiler.phases.graph.ReentrantBlockIterator
  org.graalvm.compiler.virtual.phases.ea.EffectsClosure$1