nm$e.java 3.5 KB
import com.google.common.base.Function;
import java.lang.ref.ReferenceQueue;
import java.util.concurrent.ExecutionException;
import javax.annotation.Nullable;
import javax.annotation.concurrent.GuardedBy;

final class nm$e<K, V>
  implements pc.w<K, V>
{
  final Function<? super K, ? extends V> a;
  @GuardedBy("ComputingValueReference.this")
  volatile pc.w<K, V> b = pc.f();
  
  public nm$e(Function<? super K, ? extends V> paramFunction)
  {
    this.a = paramFunction;
  }
  
  private void b(pc.w<K, V> paramw)
  {
    try
    {
      if (this.b == pc.r)
      {
        this.b = paramw;
        notifyAll();
      }
      return;
    }
    finally {}
  }
  
  final V a(K paramK)
    throws ExecutionException
  {
    try
    {
      paramK = this.a.apply(paramK);
      b(new nm.b(paramK));
      return paramK;
    }
    catch (Throwable paramK)
    {
      b(new nm.a(paramK));
      throw new ExecutionException(paramK);
    }
  }
  
  public final pc.l<K, V> a()
  {
    return null;
  }
  
  public final pc.w<K, V> a(ReferenceQueue<V> paramReferenceQueue, @Nullable V paramV, pc.l<K, V> paraml)
  {
    return this;
  }
  
  public final void a(pc.w<K, V> paramw)
  {
    b(paramw);
  }
  
  public final boolean b()
  {
    return true;
  }
  
  /* Error */
  public final V c()
    throws ExecutionException
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 32	nm$e:b	Lpc$w;
    //   4: getstatic 41	pc:r	Lpc$w;
    //   7: if_acmpne +52 -> 59
    //   10: iconst_0
    //   11: istore_1
    //   12: iconst_0
    //   13: istore_2
    //   14: aload_0
    //   15: monitorenter
    //   16: iload_2
    //   17: istore_1
    //   18: aload_0
    //   19: getfield 32	nm$e:b	Lpc$w;
    //   22: astore_3
    //   23: getstatic 41	pc:r	Lpc$w;
    //   26: astore 4
    //   28: aload_3
    //   29: aload 4
    //   31: if_acmpne +16 -> 47
    //   34: aload_0
    //   35: invokevirtual 84	java/lang/Object:wait	()V
    //   38: goto -20 -> 18
    //   41: astore_3
    //   42: iconst_1
    //   43: istore_1
    //   44: goto -26 -> 18
    //   47: aload_0
    //   48: monitorexit
    //   49: iload_1
    //   50: ifeq +9 -> 59
    //   53: invokestatic 90	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   56: invokevirtual 93	java/lang/Thread:interrupt	()V
    //   59: aload_0
    //   60: getfield 32	nm$e:b	Lpc$w;
    //   63: invokeinterface 95 1 0
    //   68: areturn
    //   69: astore_3
    //   70: aload_0
    //   71: monitorexit
    //   72: aload_3
    //   73: athrow
    //   74: astore_3
    //   75: iload_1
    //   76: ifeq +9 -> 85
    //   79: invokestatic 90	java/lang/Thread:currentThread	()Ljava/lang/Thread;
    //   82: invokevirtual 93	java/lang/Thread:interrupt	()V
    //   85: aload_3
    //   86: athrow
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	87	0	this	e
    //   11	65	1	i	int
    //   13	4	2	j	int
    //   22	7	3	localw1	pc.w
    //   41	1	3	localInterruptedException	InterruptedException
    //   69	4	3	localObject1	Object
    //   74	12	3	localObject2	Object
    //   26	4	4	localw2	pc.w
    // Exception table:
    //   from	to	target	type
    //   34	38	41	java/lang/InterruptedException
    //   18	28	69	finally
    //   34	38	69	finally
    //   47	49	69	finally
    //   70	72	69	finally
    //   14	16	74	finally
    //   72	74	74	finally
  }
  
  public final V get()
  {
    return null;
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/nm$e.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */