abstract class org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate implements org.apache.cassandra.cql3.functions.AggregateFunction$Aggregate
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate
  super_class: java.lang.Object
{
  private long sum;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int count;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger bigSum;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private boolean overflow;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.apache.cassandra.db.marshal.AbstractType numberType;
    descriptor: Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.cassandra.db.marshal.AbstractType);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType type
         0: .line 958
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 953
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.bigSum:Ljava/math/BigInteger;
         2: .line 954
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.overflow:Z
         3: .line 960
            aload 0 /* this */
            aload 1 /* type */
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.numberType:Lorg/apache/cassandra/db/marshal/AbstractType;
         4: .line 961
            return
        end local 1 // org.apache.cassandra.db.marshal.AbstractType type
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/cql3/functions/AggregateFcts$AvgAggregate;
            0    5     1  type  Lorg/apache/cassandra/db/marshal/AbstractType;
    MethodParameters:
      Name  Flags
      type  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
         0: .line 965
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.count:I
         1: .line 966
            aload 0 /* this */
            lconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
         2: .line 967
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.overflow:Z
         3: .line 968
            aload 0 /* this */
            aconst_null
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.bigSum:Ljava/math/BigInteger;
         4: .line 969
            return
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/cql3/functions/AggregateFcts$AvgAggregate;

  long computeInternal();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
         0: .line 973
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.overflow:Z
            ifeq 2
         1: .line 975
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.bigSum:Ljava/math/BigInteger;
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.count:I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.divide:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.longValue:()J
            lreturn
         2: .line 979
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.count:I
            ifne 3
            lconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.count:I
            i2l
            ldiv
      StackMap locals:
      StackMap stack: long
         4: lreturn
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/cql3/functions/AggregateFcts$AvgAggregate;

  public void addInput(org.apache.cassandra.transport.ProtocolVersion, java.util.List<java.nio.ByteBuffer>);
    descriptor: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
        start local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        start local 2 // java.util.List values
         0: .line 985
            aload 2 /* values */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.nio.ByteBuffer
            astore 3 /* value */
        start local 3 // java.nio.ByteBuffer value
         1: .line 987
            aload 3 /* value */
            ifnonnull 3
         2: .line 988
            return
         3: .line 990
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.count:I
            iconst_1
            iadd
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.count:I
         4: .line 991
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.numberType:Lorg/apache/cassandra/db/marshal/AbstractType;
            aload 3 /* value */
            invokevirtual org.apache.cassandra.db.marshal.AbstractType.compose:(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
            checkcast java.lang.Number
            invokevirtual java.lang.Number.longValue:()J
            lstore 4 /* number */
        start local 4 // long number
         5: .line 992
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.overflow:Z
            ifeq 8
         6: .line 994
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.bigSum:Ljava/math/BigInteger;
            lload 4 /* number */
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.bigSum:Ljava/math/BigInteger;
         7: .line 995
            goto 13
         8: .line 998
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
            lstore 6 /* prev */
        start local 6 // long prev
         9: .line 999
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
            lload 4 /* number */
            ladd
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
        10: .line 1001
            lload 6 /* prev */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
            lxor
            lload 4 /* number */
            aload 0 /* this */
            getfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.sum:J
            lxor
            land
            lconst_0
            lcmp
            ifge 13
        11: .line 1003
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.overflow:Z
        12: .line 1004
            aload 0 /* this */
            lload 6 /* prev */
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            lload 4 /* number */
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            putfield org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate.bigSum:Ljava/math/BigInteger;
        end local 6 // long prev
        13: .line 1007
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long number
        end local 3 // java.nio.ByteBuffer value
        end local 2 // java.util.List values
        end local 1 // org.apache.cassandra.transport.ProtocolVersion protocolVersion
        end local 0 // org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/apache/cassandra/cql3/functions/AggregateFcts$AvgAggregate;
            0   14     1  protocolVersion  Lorg/apache/cassandra/transport/ProtocolVersion;
            0   14     2           values  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            1   14     3            value  Ljava/nio/ByteBuffer;
            5   14     4           number  J
            9   13     6             prev  J
    Signature: (Lorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/List<Ljava/nio/ByteBuffer;>;)V
    MethodParameters:
                 Name  Flags
      protocolVersion  
      values           
}
SourceFile: "AggregateFcts.java"
NestHost: org.apache.cassandra.cql3.functions.AggregateFcts
InnerClasses:
  private abstract AvgAggregate = org.apache.cassandra.cql3.functions.AggregateFcts$AvgAggregate of org.apache.cassandra.cql3.functions.AggregateFcts
  public abstract Aggregate = org.apache.cassandra.cql3.functions.AggregateFunction$Aggregate of org.apache.cassandra.cql3.functions.AggregateFunction