PropertyReference.smali
.class public abstract Lkotlin/jvm/internal/PropertyReference;
.super Lkotlin/jvm/internal/CallableReference;
.source "PropertyReference.java"
# interfaces
.implements Lkotlin/reflect/KProperty;
# direct methods
.method public constructor <init>()V
.registers 1
.line 15
invoke-direct {p0}, Lkotlin/jvm/internal/CallableReference;-><init>()V
return-void
.end method
.method public constructor <init>(Ljava/lang/Object;)V
.registers 2
.line 20
invoke-direct {p0, p1}, Lkotlin/jvm/internal/CallableReference;-><init>(Ljava/lang/Object;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;I)V
.registers 13
const/4 v0, 0x1
and-int/2addr p5, v0
if-ne p5, v0, :cond_6
const/4 v6, 0x1
goto :goto_8
:cond_6
const/4 v0, 0x0
const/4 v6, 0x0
:goto_8
move-object v1, p0
move-object v2, p1
move-object v3, p2
move-object v4, p3
move-object v5, p4
.line 25
invoke-direct/range {v1 .. v6}, Lkotlin/jvm/internal/CallableReference;-><init>(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;Z)V
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 6
const/4 v0, 0x1
if-ne p1, p0, :cond_4
return v0
.line 49
:cond_4
instance-of v1, p1, Lkotlin/jvm/internal/PropertyReference;
const/4 v2, 0x0
if-eqz v1, :cond_46
.line 50
check-cast p1, Lkotlin/jvm/internal/PropertyReference;
.line 51
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getOwner()Lkotlin/reflect/KDeclarationContainer;
move-result-object v1
invoke-virtual {p1}, Lkotlin/jvm/internal/PropertyReference;->getOwner()Lkotlin/reflect/KDeclarationContainer;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_44
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1}, Lkotlin/jvm/internal/PropertyReference;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_44
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getSignature()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1}, Lkotlin/jvm/internal/PropertyReference;->getSignature()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_44
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getBoundReceiver()Ljava/lang/Object;
move-result-object v1
invoke-virtual {p1}, Lkotlin/jvm/internal/PropertyReference;->getBoundReceiver()Ljava/lang/Object;
move-result-object p1
invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_44
goto :goto_45
:cond_44
const/4 v0, 0x0
:goto_45
return v0
.line 56
:cond_46
instance-of v0, p1, Lkotlin/reflect/KProperty;
if-eqz v0, :cond_53
.line 57
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->compute()Lkotlin/reflect/KCallable;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_53
return v2
.end method
.method protected bridge synthetic getReflected()Lkotlin/reflect/KCallable;
.registers 2
.line 12
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getReflected()Lkotlin/reflect/KProperty;
move-result-object v0
return-object v0
.end method
.method protected getReflected()Lkotlin/reflect/KProperty;
.registers 2
.line 31
invoke-super {p0}, Lkotlin/jvm/internal/CallableReference;->getReflected()Lkotlin/reflect/KCallable;
move-result-object v0
check-cast v0, Lkotlin/reflect/KProperty;
return-object v0
.end method
.method public hashCode()I
.registers 3
.line 64
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getOwner()Lkotlin/reflect/KDeclarationContainer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v1
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getSignature()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v1
add-int/2addr v0, v1
return v0
.end method
.method public isConst()Z
.registers 2
.line 43
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getReflected()Lkotlin/reflect/KProperty;
move-result-object v0
invoke-interface {v0}, Lkotlin/reflect/KProperty;->isConst()Z
move-result v0
return v0
.end method
.method public isLateinit()Z
.registers 2
.line 37
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getReflected()Lkotlin/reflect/KProperty;
move-result-object v0
invoke-interface {v0}, Lkotlin/reflect/KProperty;->isLateinit()Z
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 69
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->compute()Lkotlin/reflect/KCallable;
move-result-object v0
if-eq v0, p0, :cond_b
.line 71
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 74
:cond_b
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "property "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lkotlin/jvm/internal/PropertyReference;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " (Kotlin reflection is not available)"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method