public abstract class org.apache.lucene.util.AttributeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.util.AttributeFactory
  super_class: java.lang.Object
{
  private static final java.lang.invoke.MethodHandles$Lookup lookup;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodType NO_ARG_CTOR;
    descriptor: Ljava/lang/invoke/MethodType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodType NO_ARG_RETURNING_ATTRIBUTEIMPL;
    descriptor: Ljava/lang/invoke/MethodType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.apache.lucene.util.AttributeFactory DEFAULT_ATTRIBUTE_FACTORY;
    descriptor: Lorg/apache/lucene/util/AttributeFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 52
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            putstatic org.apache.lucene.util.AttributeFactory.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
         1: .line 53
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            putstatic org.apache.lucene.util.AttributeFactory.NO_ARG_CTOR:Ljava/lang/invoke/MethodType;
         2: .line 54
            ldc Lorg/apache/lucene/util/AttributeImpl;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            putstatic org.apache.lucene.util.AttributeFactory.NO_ARG_RETURNING_ATTRIBUTEIMPL:Ljava/lang/invoke/MethodType;
         3: .line 60
            new org.apache.lucene.util.AttributeFactory$DefaultAttributeFactory
            dup
            invokespecial org.apache.lucene.util.AttributeFactory$DefaultAttributeFactory.<init>:()V
            putstatic org.apache.lucene.util.AttributeFactory.DEFAULT_ATTRIBUTE_FACTORY:Lorg/apache/lucene/util/AttributeFactory;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.util.AttributeFactory this
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.util.AttributeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/AttributeFactory;

  public abstract org.apache.lucene.util.AttributeImpl createAttributeInstance(java.lang.Class<? extends org.apache.lucene.util.Attribute>);
    descriptor: (Ljava/lang/Class;)Lorg/apache/lucene/util/AttributeImpl;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.reflect.UndeclaredThrowableException
    Signature: (Ljava/lang/Class<+Lorg/apache/lucene/util/Attribute;>;)Lorg/apache/lucene/util/AttributeImpl;
    MethodParameters:
          Name  Flags
      attClass  

  static final java.lang.invoke.MethodHandle findAttributeImplCtor(java.lang.Class<? extends org.apache.lucene.util.AttributeImpl>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 46
            getstatic org.apache.lucene.util.AttributeFactory.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 0 /* clazz */
            getstatic org.apache.lucene.util.AttributeFactory.NO_ARG_CTOR:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findConstructor:(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            getstatic org.apache.lucene.util.AttributeFactory.NO_ARG_RETURNING_ATTRIBUTEIMPL:Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 47
      StackMap locals:
      StackMap stack: java.lang.ReflectiveOperationException
            astore 1 /* e */
        start local 1 // java.lang.ReflectiveOperationException e
         3: .line 48
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot lookup accessible no-arg constructor for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ReflectiveOperationException e
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  clazz  Ljava/lang/Class<+Lorg/apache/lucene/util/AttributeImpl;>;
            3    4     1      e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NoSuchMethodException
           0     1       2  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/Class<+Lorg/apache/lucene/util/AttributeImpl;>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      clazz  

  public static <A extends org.apache.lucene.util.AttributeImpl> org.apache.lucene.util.AttributeFactory getStaticImplementation(org.apache.lucene.util.AttributeFactory, java.lang.Class<A>);
    descriptor: (Lorg/apache/lucene/util/AttributeFactory;Ljava/lang/Class;)Lorg/apache/lucene/util/AttributeFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.util.AttributeFactory delegate
        start local 1 // java.lang.Class clazz
         0: .line 143
            aload 1 /* clazz */
            invokestatic org.apache.lucene.util.AttributeFactory.findAttributeImplCtor:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* constr */
        start local 2 // java.lang.invoke.MethodHandle constr
         1: .line 144
            new org.apache.lucene.util.AttributeFactory$1
            dup
            aload 0 /* delegate */
            aload 1 /* clazz */
            aload 2 /* constr */
            invokespecial org.apache.lucene.util.AttributeFactory$1.<init>:(Lorg/apache/lucene/util/AttributeFactory;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 2 // java.lang.invoke.MethodHandle constr
        end local 1 // java.lang.Class clazz
        end local 0 // org.apache.lucene.util.AttributeFactory delegate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  delegate  Lorg/apache/lucene/util/AttributeFactory;
            0    2     1     clazz  Ljava/lang/Class<TA;>;
            1    2     2    constr  Ljava/lang/invoke/MethodHandle;
    Signature: <A:Lorg/apache/lucene/util/AttributeImpl;>(Lorg/apache/lucene/util/AttributeFactory;Ljava/lang/Class<TA;>;)Lorg/apache/lucene/util/AttributeFactory;
    MethodParameters:
          Name  Flags
      delegate  
      clazz     
}
SourceFile: "AttributeFactory.java"
NestMembers:
  org.apache.lucene.util.AttributeFactory$1  org.apache.lucene.util.AttributeFactory$DefaultAttributeFactory  org.apache.lucene.util.AttributeFactory$DefaultAttributeFactory$1  org.apache.lucene.util.AttributeFactory$StaticImplementationAttributeFactory
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.apache.lucene.util.AttributeFactory$1
  private final DefaultAttributeFactory = org.apache.lucene.util.AttributeFactory$DefaultAttributeFactory of org.apache.lucene.util.AttributeFactory
  public abstract StaticImplementationAttributeFactory = org.apache.lucene.util.AttributeFactory$StaticImplementationAttributeFactory of org.apache.lucene.util.AttributeFactory