class org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4 implements org.eclipse.collections.api.block.function.Function2<org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap<V>, T, org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap<V>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap<V> compensation;
    descriptor: Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap<TV;>;

  private final org.eclipse.collections.api.block.function.Function val$groupBy;
    descriptor: Lorg/eclipse/collections/api/block/function/Function;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.eclipse.collections.api.block.function.primitive.DoubleFunction val$function;
    descriptor: Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.eclipse.collections.api.block.function.Function, org.eclipse.collections.api.block.function.primitive.DoubleFunction);
    descriptor: (Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4 this
         0: .line 169
            aload 0 /* this */
            aload 1
            putfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.val$groupBy:Lorg/eclipse/collections/api/block/function/Function;
            aload 0 /* this */
            aload 2
            putfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.val$function:Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 172
            aload 0 /* this */
            getstatic org.eclipse.collections.impl.factory.primitive.ObjectDoubleMaps.mutable:Lorg/eclipse/collections/api/factory/map/primitive/MutableObjectDoubleMapFactory;
            invokeinterface org.eclipse.collections.api.factory.map.primitive.MutableObjectDoubleMapFactory.empty:()Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
            putfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.compensation:Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
         2: .line 169
            return
        end local 0 // org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/collections/impl/block/factory/PrimitiveFunctions$4;
    MethodParameters:
              Name  Flags
      val$groupBy   final
      val$function  final

  public org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap<V> value(org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap<V>, T);
    descriptor: (Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;Ljava/lang/Object;)Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4 this
        start local 1 // org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap map
        start local 2 // java.lang.Object each
         0: .line 176
            aload 0 /* this */
            getfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.val$groupBy:Lorg/eclipse/collections/api/block/function/Function;
            aload 2 /* each */
            invokeinterface org.eclipse.collections.api.block.function.Function.valueOf:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* groupKey */
        start local 3 // java.lang.Object groupKey
         1: .line 177
            aload 0 /* this */
            getfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.compensation:Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
            aload 3 /* groupKey */
            dconst_0
            invokeinterface org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap.getIfAbsent:(Ljava/lang/Object;D)D
            dstore 4 /* compensation */
        start local 4 // double compensation
         2: .line 178
            aload 0 /* this */
            getfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.val$function:Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;
            aload 2 /* each */
            invokeinterface org.eclipse.collections.api.block.function.primitive.DoubleFunction.doubleValueOf:(Ljava/lang/Object;)D
            dload 4 /* compensation */
            dsub
            dstore 6 /* adjustedValue */
        start local 6 // double adjustedValue
         3: .line 179
            aload 1 /* map */
            aload 3 /* groupKey */
            invokeinterface org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap.get:(Ljava/lang/Object;)D
            dload 6 /* adjustedValue */
            dadd
            dstore 8 /* nextSum */
        start local 8 // double nextSum
         4: .line 180
            aload 0 /* this */
            getfield org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.compensation:Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
            aload 3 /* groupKey */
            dload 8 /* nextSum */
            aload 1 /* map */
            aload 3 /* groupKey */
            invokeinterface org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap.get:(Ljava/lang/Object;)D
            dsub
            dload 6 /* adjustedValue */
            dsub
            invokeinterface org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap.put:(Ljava/lang/Object;D)V
         5: .line 181
            aload 1 /* map */
            aload 3 /* groupKey */
            dload 8 /* nextSum */
            invokeinterface org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap.put:(Ljava/lang/Object;D)V
         6: .line 182
            aload 1 /* map */
            areturn
        end local 8 // double nextSum
        end local 6 // double adjustedValue
        end local 4 // double compensation
        end local 3 // java.lang.Object groupKey
        end local 2 // java.lang.Object each
        end local 1 // org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap map
        end local 0 // org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/collections/impl/block/factory/PrimitiveFunctions$4;
            0    7     1            map  Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap<TV;>;
            0    7     2           each  TT;
            1    7     3       groupKey  TV;
            2    7     4   compensation  D
            3    7     6  adjustedValue  D
            4    7     8        nextSum  D
    Signature: (Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap<TV;>;TT;)Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap<TV;>;
    MethodParameters:
      Name  Flags
      map   
      each  

  public java.lang.Object value(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap
            aload 2
            checkcast java.lang.Object
            invokevirtual org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4.value:(Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;Ljava/lang/Object;)Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/eclipse/collections/api/block/function/Function2<Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap<TV;>;TT;Lorg/eclipse/collections/api/map/primitive/MutableObjectDoubleMap<TV;>;>;
SourceFile: "PrimitiveFunctions.java"
EnclosingMethod: org.eclipse.collections.impl.block.factory.PrimitiveFunctions.sumByDoubleFunction:(Lorg/eclipse/collections/api/block/function/Function;Lorg/eclipse/collections/api/block/function/primitive/DoubleFunction;)Lorg/eclipse/collections/api/block/function/Function2;
NestHost: org.eclipse.collections.impl.block.factory.PrimitiveFunctions
InnerClasses:
  org.eclipse.collections.impl.block.factory.PrimitiveFunctions$4