final class jdk.nashorn.internal.objects.NativeArray$PopLinkLogic extends jdk.nashorn.internal.objects.NativeArray$ArrayLinkLogic
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.objects.NativeArray$PopLinkLogic
  super_class: jdk.nashorn.internal.objects.NativeArray$ArrayLinkLogic
{
  private static final jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic INSTANCE;
    descriptor: Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1857
            new jdk.nashorn.internal.objects.NativeArray$PopLinkLogic
            dup
            invokespecial jdk.nashorn.internal.objects.NativeArray$PopLinkLogic.<init>:()V
            putstatic jdk.nashorn.internal.objects.NativeArray$PopLinkLogic.INSTANCE:Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeArray$PopLinkLogic this
         0: .line 1856
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.objects.NativeArray$ArrayLinkLogic.<init>:()V
            return
        end local 0 // jdk.nashorn.internal.objects.NativeArray$PopLinkLogic this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeArray$PopLinkLogic;

  public boolean canLink(java.lang.Object, jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljava/lang/Object;Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeArray$PopLinkLogic this
        start local 1 // java.lang.Object self
        start local 2 // jdk.dynalink.CallSiteDescriptor desc
        start local 3 // jdk.dynalink.linker.LinkRequest request
         0: .line 1865
            aload 1 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeArray$PopLinkLogic.getContinuousNonEmptyArrayData:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ContinuousArrayData;
            astore 4 /* data */
        start local 4 // jdk.nashorn.internal.runtime.arrays.ContinuousArrayData data
         1: .line 1866
            aload 4 /* data */
            ifnull 8
         2: .line 1867
            aload 4 /* data */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ContinuousArrayData.getElementType:()Ljava/lang/Class;
            astore 5 /* elementType */
        start local 5 // java.lang.Class elementType
         3: .line 1868
            aload 2 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 6 /* returnType */
        start local 6 // java.lang.Class returnType
         4: .line 1869
            aload 6 /* returnType */
            invokestatic jdk.nashorn.internal.runtime.JSType.getAccessorTypeIndex:(Ljava/lang/Class;)I
            aload 5 /* elementType */
            invokestatic jdk.nashorn.internal.runtime.JSType.getAccessorTypeIndex:(Ljava/lang/Class;)I
            if_icmplt 5
            iconst_1
            goto 6
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ContinuousArrayData java.lang.Class java.lang.Class
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* typeFits */
        start local 7 // boolean typeFits
         7: .line 1870
            iload 7 /* typeFits */
            ireturn
        end local 7 // boolean typeFits
        end local 6 // java.lang.Class returnType
        end local 5 // java.lang.Class elementType
         8: .line 1872
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // jdk.nashorn.internal.runtime.arrays.ContinuousArrayData data
        end local 3 // jdk.dynalink.linker.LinkRequest request
        end local 2 // jdk.dynalink.CallSiteDescriptor desc
        end local 1 // java.lang.Object self
        end local 0 // jdk.nashorn.internal.objects.NativeArray$PopLinkLogic this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljdk/nashorn/internal/objects/NativeArray$PopLinkLogic;
            0    9     1         self  Ljava/lang/Object;
            0    9     2         desc  Ljdk/dynalink/CallSiteDescriptor;
            0    9     3      request  Ljdk/dynalink/linker/LinkRequest;
            1    9     4         data  Ljdk/nashorn/internal/runtime/arrays/ContinuousArrayData;
            3    8     5  elementType  Ljava/lang/Class<*>;
            4    8     6   returnType  Ljava/lang/Class<*>;
            7    8     7     typeFits  Z
    MethodParameters:
         Name  Flags
      self     final
      desc     final
      request  final

  private static jdk.nashorn.internal.runtime.arrays.ContinuousArrayData getContinuousNonEmptyArrayData(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ContinuousArrayData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1876
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeArray$PopLinkLogic.getContinuousArrayData:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/arrays/ContinuousArrayData;
            astore 1 /* data */
        start local 1 // jdk.nashorn.internal.runtime.arrays.ContinuousArrayData data
         1: .line 1877
            aload 1 /* data */
            ifnull 5
         2: .line 1878
            aload 1 /* data */
            invokevirtual jdk.nashorn.internal.runtime.arrays.ContinuousArrayData.length:()J
            lconst_0
            lcmp
            ifne 3
            aconst_null
            goto 4
      StackMap locals: jdk.nashorn.internal.runtime.arrays.ContinuousArrayData
      StackMap stack:
         3: aload 1 /* data */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.arrays.ContinuousArrayData
         4: areturn
         5: .line 1880
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // jdk.nashorn.internal.runtime.arrays.ContinuousArrayData data
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  self  Ljava/lang/Object;
            1    6     1  data  Ljdk/nashorn/internal/runtime/arrays/ContinuousArrayData;
    MethodParameters:
      Name  Flags
      self  final
}
SourceFile: "NativeArray.java"
NestHost: jdk.nashorn.internal.objects.NativeArray
InnerClasses:
  private abstract ArrayLinkLogic = jdk.nashorn.internal.objects.NativeArray$ArrayLinkLogic of jdk.nashorn.internal.objects.NativeArray
  private final PopLinkLogic = jdk.nashorn.internal.objects.NativeArray$PopLinkLogic of jdk.nashorn.internal.objects.NativeArray
  public abstract LinkLogic = jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic of jdk.nashorn.internal.objects.annotations.SpecializedFunction