72 lines
6.0 KiB
Java
72 lines
6.0 KiB
Java
package kotlin.reflect.jvm.internal;
|
|
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Modifier;
|
|
import kotlin.Metadata;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
import kotlin.reflect.jvm.internal.KPropertyImpl;
|
|
import kotlin.reflect.jvm.internal.calls.Caller;
|
|
import kotlin.reflect.jvm.internal.calls.CallerImpl;
|
|
import kotlin.reflect.jvm.internal.impl.descriptors.DeclarationDescriptor;
|
|
import kotlin.reflect.jvm.internal.impl.descriptors.PropertyDescriptor;
|
|
import kotlin.reflect.jvm.internal.impl.metadata.jvm.deserialization.JvmProtoBufUtil;
|
|
import kotlin.reflect.jvm.internal.impl.resolve.DescriptorUtils;
|
|
import kotlin.reflect.jvm.internal.impl.serialization.deserialization.descriptors.DeserializedPropertyDescriptor;
|
|
import kotlin.reflect.jvm.internal.impl.types.TypeUtils;
|
|
|
|
@Metadata(d1 = {"\u0000 \n\u0000\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a \u0010\u0005\u001a\u0006\u0012\u0002\b\u00030\u0006*\n\u0012\u0002\b\u0003\u0012\u0002\b\u00030\u00022\u0006\u0010\u0007\u001a\u00020\bH\u0002\u001a\f\u0010\t\u001a\u00020\b*\u00020\nH\u0002\"\"\u0010\u0000\u001a\u0004\u0018\u00010\u0001*\n\u0012\u0002\b\u0003\u0012\u0002\b\u00030\u00028@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0004¨\u0006\u000b"}, d2 = {"boundReceiver", "", "Lkotlin/reflect/jvm/internal/KPropertyImpl$Accessor;", "getBoundReceiver", "(Lkotlin/reflect/jvm/internal/KPropertyImpl$Accessor;)Ljava/lang/Object;", "computeCallerForAccessor", "Lkotlin/reflect/jvm/internal/calls/Caller;", "isGetter", "", "isJvmFieldPropertyInCompanionObject", "Lkotlin/reflect/jvm/internal/impl/descriptors/PropertyDescriptor;", "kotlin-reflection"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
|
@SourceDebugExtension({"SMAP\nKPropertyImpl.kt\nKotlin\n*S Kotlin\n*F\n+ 1 KPropertyImpl.kt\nkotlin/reflect/jvm/internal/KPropertyImplKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,334:1\n1#2:335\n*E\n"})
|
|
/* loaded from: classes3.dex */
|
|
public final class KPropertyImplKt {
|
|
public static final /* synthetic */ Caller access$computeCallerForAccessor(KPropertyImpl.Accessor accessor, boolean z3) {
|
|
return computeCallerForAccessor(accessor, z3);
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:14:0x004b */
|
|
/* JADX WARN: Removed duplicated region for block: B:16:0x0073 */
|
|
/* JADX WARN: Removed duplicated region for block: B:37:0x0112 */
|
|
/* JADX WARN: Removed duplicated region for block: B:54:0x0070 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public static final kotlin.reflect.jvm.internal.calls.Caller<?> computeCallerForAccessor(kotlin.reflect.jvm.internal.KPropertyImpl.Accessor<?, ?> r6, boolean r7) {
|
|
/*
|
|
Method dump skipped, instructions count: 572
|
|
To view this dump add '--comments-level debug' option
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: kotlin.reflect.jvm.internal.KPropertyImplKt.computeCallerForAccessor(kotlin.reflect.jvm.internal.KPropertyImpl$Accessor, boolean):kotlin.reflect.jvm.internal.calls.Caller");
|
|
}
|
|
|
|
private static final CallerImpl<Field> computeCallerForAccessor$computeFieldCaller(KPropertyImpl.Accessor<?, ?> accessor, boolean z3, Field field) {
|
|
return (isJvmFieldPropertyInCompanionObject(accessor.getProperty().getDescriptor()) || !Modifier.isStatic(field.getModifiers())) ? z3 ? accessor.isBound() ? new CallerImpl.FieldGetter.BoundInstance(field, getBoundReceiver(accessor)) : new CallerImpl.FieldGetter.Instance(field) : accessor.isBound() ? new CallerImpl.FieldSetter.BoundInstance(field, computeCallerForAccessor$isNotNullProperty(accessor), getBoundReceiver(accessor)) : new CallerImpl.FieldSetter.Instance(field, computeCallerForAccessor$isNotNullProperty(accessor)) : computeCallerForAccessor$isJvmStaticProperty(accessor) ? z3 ? accessor.isBound() ? new CallerImpl.FieldGetter.BoundJvmStaticInObject(field) : new CallerImpl.FieldGetter.JvmStaticInObject(field) : accessor.isBound() ? new CallerImpl.FieldSetter.BoundJvmStaticInObject(field, computeCallerForAccessor$isNotNullProperty(accessor)) : new CallerImpl.FieldSetter.JvmStaticInObject(field, computeCallerForAccessor$isNotNullProperty(accessor)) : z3 ? new CallerImpl.FieldGetter.Static(field) : new CallerImpl.FieldSetter.Static(field, computeCallerForAccessor$isNotNullProperty(accessor));
|
|
}
|
|
|
|
private static final boolean computeCallerForAccessor$isJvmStaticProperty(KPropertyImpl.Accessor<?, ?> accessor) {
|
|
return accessor.getProperty().getDescriptor().getAnnotations().hasAnnotation(UtilKt.getJVM_STATIC());
|
|
}
|
|
|
|
private static final boolean computeCallerForAccessor$isNotNullProperty(KPropertyImpl.Accessor<?, ?> accessor) {
|
|
return !TypeUtils.isNullableType(accessor.getProperty().getDescriptor().getType());
|
|
}
|
|
|
|
public static final Object getBoundReceiver(KPropertyImpl.Accessor<?, ?> accessor) {
|
|
Intrinsics.checkNotNullParameter(accessor, "<this>");
|
|
return accessor.getProperty().getBoundReceiver();
|
|
}
|
|
|
|
private static final boolean isJvmFieldPropertyInCompanionObject(PropertyDescriptor propertyDescriptor) {
|
|
DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration();
|
|
Intrinsics.checkNotNullExpressionValue(containingDeclaration, "getContainingDeclaration(...)");
|
|
if (!DescriptorUtils.isCompanionObject(containingDeclaration)) {
|
|
return false;
|
|
}
|
|
DeclarationDescriptor containingDeclaration2 = containingDeclaration.getContainingDeclaration();
|
|
if (DescriptorUtils.isInterface(containingDeclaration2) || DescriptorUtils.isAnnotationClass(containingDeclaration2)) {
|
|
return (propertyDescriptor instanceof DeserializedPropertyDescriptor) && JvmProtoBufUtil.isMovedFromInterfaceCompanion(((DeserializedPropertyDescriptor) propertyDescriptor).getProto());
|
|
}
|
|
return true;
|
|
}
|
|
}
|