public interface jdk.incubator.vector.VectorSpecies<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.incubator.vector.VectorSpecies
  super_class: java.lang.Object
{
  public abstract java.lang.Class<E> elementType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<TE;>;

  public abstract java.lang.Class<? extends jdk.incubator.vector.Vector<E>> vectorType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<+Ljdk/incubator/vector/Vector<TE;>;>;

  public abstract java.lang.Class<? extends jdk.incubator.vector.VectorMask<E>> maskType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<+Ljdk/incubator/vector/VectorMask<TE;>;>;

  public abstract int elementSize();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract jdk.incubator.vector.VectorShape vectorShape();
    descriptor: ()Ljdk/incubator/vector/VectorShape;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int length();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int vectorBitSize();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int vectorByteSize();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract int loopBound(int);
    descriptor: (I)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      length  

  public abstract jdk.incubator.vector.VectorMask<E> indexInRange(int, int);
    descriptor: (II)Ljdk/incubator/vector/VectorMask;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (II)Ljdk/incubator/vector/VectorMask<TE;>;
    MethodParameters:
        Name  Flags
      offset  
      limit   

  public abstract <F> jdk.incubator.vector.VectorSpecies<F> check(java.lang.Class<F>);
    descriptor: (Ljava/lang/Class;)Ljdk/incubator/vector/VectorSpecies;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <F:Ljava/lang/Object;>(Ljava/lang/Class<TF;>;)Ljdk/incubator/vector/VectorSpecies<TF;>;
    MethodParameters:
             Name  Flags
      elementType  

  public abstract int partLimit(jdk.incubator.vector.VectorSpecies<?>, );
    descriptor: (Ljdk/incubator/vector/VectorSpecies;Z)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljdk/incubator/vector/VectorSpecies<*>;Z)I
    MethodParameters:
               Name  Flags
      outputSpecies  
      lanewise       

  public abstract <F> jdk.incubator.vector.VectorSpecies<F> withLanes(java.lang.Class<F>);
    descriptor: (Ljava/lang/Class;)Ljdk/incubator/vector/VectorSpecies;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <F:Ljava/lang/Object;>(Ljava/lang/Class<TF;>;)Ljdk/incubator/vector/VectorSpecies<TF;>;
    MethodParameters:
         Name  Flags
      newType  

  public abstract jdk.incubator.vector.VectorSpecies<E> withShape(jdk.incubator.vector.VectorShape);
    descriptor: (Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies<TE;>;
    MethodParameters:
          Name  Flags
      newShape  

  public static <E> jdk.incubator.vector.VectorSpecies<E> of(java.lang.Class<E>, jdk.incubator.vector.VectorShape);
    descriptor: (Ljava/lang/Class;Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class elementType
        start local 1 // jdk.incubator.vector.VectorShape shape
         0: .line 300
            aload 0 /* elementType */
            invokestatic jdk.incubator.vector.LaneType.of:(Ljava/lang/Class;)Ljdk/incubator/vector/LaneType;
            astore 2 /* laneType */
        start local 2 // jdk.incubator.vector.LaneType laneType
         1: .line 301
            aload 0 /* elementType */
            aload 2 /* laneType */
            aload 1 /* shape */
            invokestatic jdk.incubator.vector.AbstractSpecies.findSpecies:(Ljava/lang/Class;Ljdk/incubator/vector/LaneType;Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/AbstractSpecies;
            areturn
        end local 2 // jdk.incubator.vector.LaneType laneType
        end local 1 // jdk.incubator.vector.VectorShape shape
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  elementType  Ljava/lang/Class<TE;>;
            0    2     1        shape  Ljdk/incubator/vector/VectorShape;
            1    2     2     laneType  Ljdk/incubator/vector/LaneType;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Class<TE;>;Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies<TE;>;
    MethodParameters:
             Name  Flags
      elementType  
      shape        

  public static <E> jdk.incubator.vector.VectorSpecies<E> ofLargestShape(java.lang.Class<E>);
    descriptor: (Ljava/lang/Class;)Ljdk/incubator/vector/VectorSpecies;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class etype
         0: .line 325
            aload 0 /* etype */
            aload 0 /* etype */
            invokestatic jdk.incubator.vector.VectorShape.largestShapeFor:(Ljava/lang/Class;)Ljdk/incubator/vector/VectorShape;
            invokestatic jdk.incubator.vector.VectorSpecies.of:(Ljava/lang/Class;Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies;
            areturn
        end local 0 // java.lang.Class etype
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  etype  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Class<TE;>;)Ljdk/incubator/vector/VectorSpecies<TE;>;
    MethodParameters:
       Name  Flags
      etype  

  public static <E> jdk.incubator.vector.VectorSpecies<E> ofPreferred(java.lang.Class<E>);
    descriptor: (Ljava/lang/Class;)Ljdk/incubator/vector/VectorSpecies;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class etype
         0: .line 368
            aload 0 /* etype */
            invokestatic jdk.incubator.vector.VectorShape.preferredShape:()Ljdk/incubator/vector/VectorShape;
            invokestatic jdk.incubator.vector.VectorSpecies.of:(Ljava/lang/Class;Ljdk/incubator/vector/VectorShape;)Ljdk/incubator/vector/VectorSpecies;
            areturn
        end local 0 // java.lang.Class etype
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  etype  Ljava/lang/Class<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Class<TE;>;)Ljdk/incubator/vector/VectorSpecies<TE;>;
    MethodParameters:
       Name  Flags
      etype  

  public static int elementSize(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class elementType
         0: .line 390
            aload 0 /* elementType */
            invokestatic jdk.incubator.vector.LaneType.of:(Ljava/lang/Class;)Ljdk/incubator/vector/LaneType;
            getfield jdk.incubator.vector.LaneType.elementSize:I
            ireturn
        end local 0 // java.lang.Class elementType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  elementType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)I
    MethodParameters:
             Name  Flags
      elementType  

  public abstract jdk.incubator.vector.Vector<E> zero();
    descriptor: ()Ljdk/incubator/vector/Vector;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljdk/incubator/vector/Vector<TE;>;

  public abstract jdk.incubator.vector.Vector<E> fromArray(, int);
    descriptor: (Ljava/lang/Object;I)Ljdk/incubator/vector/Vector;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;I)Ljdk/incubator/vector/Vector<TE;>;
    MethodParameters:
        Name  Flags
      a       
      offset  

  public abstract jdk.incubator.vector.Vector<E> fromByteArray(byte[], int, java.nio.ByteOrder);
    descriptor: ([BILjava/nio/ByteOrder;)Ljdk/incubator/vector/Vector;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ([BILjava/nio/ByteOrder;)Ljdk/incubator/vector/Vector<TE;>;
    MethodParameters:
        Name  Flags
      a       
      offset  
      bo      

  public abstract jdk.incubator.vector.VectorMask<E> loadMask(boolean[], int);
    descriptor: ([ZI)Ljdk/incubator/vector/VectorMask;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ([ZI)Ljdk/incubator/vector/VectorMask<TE;>;
    MethodParameters:
        Name  Flags
      bits    
      offset  

  public abstract jdk.incubator.vector.VectorMask<E> maskAll(boolean);
    descriptor: (Z)Ljdk/incubator/vector/VectorMask;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Z)Ljdk/incubator/vector/VectorMask<TE;>;
    MethodParameters:
      Name  Flags
      bit   

  public abstract jdk.incubator.vector.Vector<E> broadcast(long);
    descriptor: (J)Ljdk/incubator/vector/Vector;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (J)Ljdk/incubator/vector/Vector<TE;>;
    MethodParameters:
      Name  Flags
      e     

  public abstract long checkValue(long);
    descriptor: (J)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  public abstract jdk.incubator.vector.VectorShuffle<E> shuffleFromValues(int[]);
    descriptor: ([I)Ljdk/incubator/vector/VectorShuffle;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    Signature: ([I)Ljdk/incubator/vector/VectorShuffle<TE;>;
    MethodParameters:
               Name  Flags
      sourceIndexes  

  public abstract jdk.incubator.vector.VectorShuffle<E> shuffleFromArray(int[], int);
    descriptor: ([II)Ljdk/incubator/vector/VectorShuffle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ([II)Ljdk/incubator/vector/VectorShuffle<TE;>;
    MethodParameters:
               Name  Flags
      sourceIndexes  
      offset         

  public abstract jdk.incubator.vector.VectorShuffle<E> shuffleFromOp(java.util.function.IntUnaryOperator);
    descriptor: (Ljava/util/function/IntUnaryOperator;)Ljdk/incubator/vector/VectorShuffle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/IntUnaryOperator;)Ljdk/incubator/vector/VectorShuffle<TE;>;
    MethodParameters:
      Name  Flags
      fn    

  public abstract jdk.incubator.vector.VectorShuffle<E> iotaShuffle(int, int, boolean);
    descriptor: (IIZ)Ljdk/incubator/vector/VectorShuffle;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (IIZ)Ljdk/incubator/vector/VectorShuffle<TE;>;
    MethodParameters:
       Name  Flags
      start  
      step   
      wrap   

  public abstract java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "VectorSpecies.java"