.class public Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal; .super Lkotlin/reflect/jvm/internal/ReflectProperties$Val; .source "ReflectProperties.java" # interfaces .implements Lkotlin/jvm/functions/Function0; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lkotlin/reflect/jvm/internal/ReflectProperties; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "LazySoftVal" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Lkotlin/reflect/jvm/internal/ReflectProperties$Val<", "TT;>;", "Lkotlin/jvm/functions/Function0<", "TT;>;" } .end annotation # instance fields .field private final initializer:Lkotlin/jvm/functions/Function0; .annotation system Ldalvik/annotation/Signature; value = { "Lkotlin/jvm/functions/Function0<", "TT;>;" } .end annotation .end field .field private volatile value:Ljava/lang/ref/SoftReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ref/SoftReference<", "Ljava/lang/Object;", ">;" } .end annotation .end field # direct methods .method private static synthetic $$$reportNull$$$0(I)V .registers 3 const-string p0, "kotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal" const-string v0, "" const-string v1, "initializer" filled-new-array {v1, p0, v0}, [Ljava/lang/Object; move-result-object p0 const-string v0, "Argument for @NotNull parameter \'%s\' of %s.%s must not be null" invoke-static {v0, p0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 new-instance v0, Ljava/lang/IllegalArgumentException; invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public constructor (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(TT;", "Lkotlin/jvm/functions/Function0<", "TT;>;)V" } .end annotation if-nez p2, :cond_6 const/4 v0, 0x0 invoke-static {v0}, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->$$$reportNull$$$0(I)V .line 75 :cond_6 invoke-direct {p0}, Lkotlin/reflect/jvm/internal/ReflectProperties$Val;->()V const/4 v0, 0x0 .line 73 iput-object v0, p0, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->value:Ljava/lang/ref/SoftReference; .line 76 iput-object p2, p0, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->initializer:Lkotlin/jvm/functions/Function0; if-eqz p1, :cond_1b .line 78 new-instance p2, Ljava/lang/ref/SoftReference; invoke-virtual {p0, p1}, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->escape(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/ref/SoftReference;->(Ljava/lang/Object;)V iput-object p2, p0, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->value:Ljava/lang/ref/SoftReference; :cond_1b return-void .end method # virtual methods .method public invoke()Ljava/lang/Object; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "()TT;" } .end annotation .line 84 iget-object v0, p0, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->value:Ljava/lang/ref/SoftReference; if-eqz v0, :cond_f .line 86 invoke-virtual {v0}, Ljava/lang/ref/SoftReference;->get()Ljava/lang/Object; move-result-object v0 if-eqz v0, :cond_f .line 88 invoke-virtual {p0, v0}, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->unescape(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 return-object v0 .line 92 :cond_f iget-object v0, p0, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->initializer:Lkotlin/jvm/functions/Function0; invoke-interface {v0}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object; move-result-object v0 .line 93 new-instance v1, Ljava/lang/ref/SoftReference; invoke-virtual {p0, v0}, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->escape(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 invoke-direct {v1, v2}, Ljava/lang/ref/SoftReference;->(Ljava/lang/Object;)V iput-object v1, p0, Lkotlin/reflect/jvm/internal/ReflectProperties$LazySoftVal;->value:Ljava/lang/ref/SoftReference; return-object v0 .end method