public class org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo extends org.graalvm.compiler.phases.common.inlining.info.ExactInlineInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo
  super_class: org.graalvm.compiler.phases.common.inlining.info.ExactInlineInfo
{
  private final jdk.vm.ci.meta.Assumptions$AssumptionResult<?> takenAssumption;
    descriptor: Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/vm/ci/meta/Assumptions$AssumptionResult<*>;

  public void <init>(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Assumptions$AssumptionResult<?>);
    descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
        start local 1 // org.graalvm.compiler.nodes.Invoke invoke
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod concrete
        start local 3 // jdk.vm.ci.meta.Assumptions$AssumptionResult takenAssumption
         0: .line 45
            aload 0 /* this */
            aload 1 /* invoke */
            aload 2 /* concrete */
            invokespecial org.graalvm.compiler.phases.common.inlining.info.ExactInlineInfo.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
         1: .line 46
            aload 0 /* this */
            aload 3 /* takenAssumption */
            putfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.takenAssumption:Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
         2: .line 47
            return
        end local 3 // jdk.vm.ci.meta.Assumptions$AssumptionResult takenAssumption
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod concrete
        end local 1 // org.graalvm.compiler.nodes.Invoke invoke
        end local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/graalvm/compiler/phases/common/inlining/info/AssumptionInlineInfo;
            0    3     1           invoke  Lorg/graalvm/compiler/nodes/Invoke;
            0    3     2         concrete  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     3  takenAssumption  Ljdk/vm/ci/meta/Assumptions$AssumptionResult<*>;
    Signature: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult<*>;)V
    MethodParameters:
                 Name  Flags
      invoke           
      concrete         
      takenAssumption  

  public java.util.Collection<org.graalvm.compiler.graph.Node> inline(org.graalvm.compiler.phases.util.Providers);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
        start local 1 // org.graalvm.compiler.phases.util.Providers providers
         0: .line 51
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.takenAssumption:Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.invoke:Lorg/graalvm/compiler/nodes/Invoke;
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.recordTo:(Ljdk/vm/ci/meta/Assumptions;)V
         1: .line 52
            aload 0 /* this */
            aload 1 /* providers */
            invokespecial org.graalvm.compiler.phases.common.inlining.info.ExactInlineInfo.inline:(Lorg/graalvm/compiler/phases/util/Providers;)Ljava/util/Collection;
            areturn
        end local 1 // org.graalvm.compiler.phases.util.Providers providers
        end local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/phases/common/inlining/info/AssumptionInlineInfo;
            0    2     1  providers  Lorg/graalvm/compiler/phases/util/Providers;
    Signature: (Lorg/graalvm/compiler/phases/util/Providers;)Ljava/util/Collection<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
           Name  Flags
      providers  

  public void tryToDevirtualizeInvoke(org.graalvm.compiler.phases.util.Providers);
    descriptor: (Lorg/graalvm/compiler/phases/util/Providers;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
        start local 1 // org.graalvm.compiler.phases.util.Providers providers
         0: .line 57
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.takenAssumption:Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.invoke:Lorg/graalvm/compiler/nodes/Invoke;
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.recordTo:(Ljdk/vm/ci/meta/Assumptions;)V
         1: .line 58
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.invoke:Lorg/graalvm/compiler/nodes/Invoke;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.concrete:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.replaceInvokeCallTarget:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
         2: .line 59
            return
        end local 1 // org.graalvm.compiler.phases.util.Providers providers
        end local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/phases/common/inlining/info/AssumptionInlineInfo;
            0    3     1  providers  Lorg/graalvm/compiler/phases/util/Providers;
    MethodParameters:
           Name  Flags
      providers  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
         0: .line 63
            new java.lang.StringBuilder
            dup
            ldc "assumption "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.concrete:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc "%H.%n(%p):%r"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/inlining/info/AssumptionInlineInfo;
}
SourceFile: "AssumptionInlineInfo.java"
InnerClasses:
  public AssumptionResult = jdk.vm.ci.meta.Assumptions$AssumptionResult of jdk.vm.ci.meta.Assumptions
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode