public final class org.apache.lucene.search.TimeLimitingCollector$TimerThread extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.search.TimeLimitingCollector$TimerThread
  super_class: java.lang.Thread
{
  public static final java.lang.String THREAD_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "TimeLimitedCollector timer thread"

  public static final int DEFAULT_RESOLUTION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  private volatile long time;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean stop;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long resolution;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  final org.apache.lucene.util.Counter counter;
    descriptor: Lorg/apache/lucene/util/Counter;
    flags: (0x0010) ACC_FINAL

  public void <init>(long, org.apache.lucene.util.Counter);
    descriptor: (JLorg/apache/lucene/util/Counter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
        start local 1 // long resolution
        start local 3 // org.apache.lucene.util.Counter counter
         0: .line 247
            aload 0 /* this */
            ldc "TimeLimitedCollector timer thread"
            invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
         1: .line 241
            aload 0 /* this */
            lconst_0
            putfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.time:J
         2: .line 242
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.stop:Z
         3: .line 248
            aload 0 /* this */
            lload 1 /* resolution */
            putfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.resolution:J
         4: .line 249
            aload 0 /* this */
            aload 3 /* counter */
            putfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.counter:Lorg/apache/lucene/util/Counter;
         5: .line 250
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.lucene.search.TimeLimitingCollector$TimerThread.setDaemon:(Z)V
         6: .line 251
            return
        end local 3 // org.apache.lucene.util.Counter counter
        end local 1 // long resolution
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;
            0    7     1  resolution  J
            0    7     3     counter  Lorg/apache/lucene/util/Counter;
    MethodParameters:
            Name  Flags
      resolution  
      counter     

  public void <init>(org.apache.lucene.util.Counter);
    descriptor: (Lorg/apache/lucene/util/Counter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
        start local 1 // org.apache.lucene.util.Counter counter
         0: .line 254
            aload 0 /* this */
            ldc 20
            aload 1 /* counter */
            invokespecial org.apache.lucene.search.TimeLimitingCollector$TimerThread.<init>:(JLorg/apache/lucene/util/Counter;)V
         1: .line 255
            return
        end local 1 // org.apache.lucene.util.Counter counter
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;
            0    2     1  counter  Lorg/apache/lucene/util/Counter;
    MethodParameters:
         Name  Flags
      counter  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
         0: .line 259
            goto 6
         1: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.counter:Lorg/apache/lucene/util/Counter;
            aload 0 /* this */
            getfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.resolution:J
            invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
            pop2
         2: .line 263
            aload 0 /* this */
            getfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.resolution:J
            invokestatic java.lang.Thread.sleep:(J)V
         3: .line 264
            goto 6
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         4: astore 1 /* ie */
        start local 1 // java.lang.InterruptedException ie
         5: .line 265
            new org.apache.lucene.util.ThreadInterruptedException
            dup
            aload 1 /* ie */
            invokespecial org.apache.lucene.util.ThreadInterruptedException.<init>:(Ljava/lang/InterruptedException;)V
            athrow
        end local 1 // java.lang.InterruptedException ie
         6: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.stop:Z
            ifeq 1
         7: .line 268
            return
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;
            5    6     1    ie  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.InterruptedException

  public long getMilliseconds();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
         0: .line 274
            aload 0 /* this */
            getfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.time:J
            lreturn
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;

  public void stopTimer();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
         0: .line 281
            aload 0 /* this */
            iconst_1
            putfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.stop:Z
         1: .line 282
            return
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;

  public long getResolution();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
         0: .line 289
            aload 0 /* this */
            getfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.resolution:J
            lreturn
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;

  public void setResolution(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
        start local 1 // long resolution
         0: .line 307
            aload 0 /* this */
            lload 1 /* resolution */
            ldc 5
            invokestatic java.lang.Math.max:(JJ)J
            putfield org.apache.lucene.search.TimeLimitingCollector$TimerThread.resolution:J
         1: .line 308
            return
        end local 1 // long resolution
        end local 0 // org.apache.lucene.search.TimeLimitingCollector$TimerThread this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/lucene/search/TimeLimitingCollector$TimerThread;
            0    2     1  resolution  J
    MethodParameters:
            Name  Flags
      resolution  
}
SourceFile: "TimeLimitingCollector.java"
NestHost: org.apache.lucene.search.TimeLimitingCollector
InnerClasses:
  public final TimerThread = org.apache.lucene.search.TimeLimitingCollector$TimerThread of org.apache.lucene.search.TimeLimitingCollector