CrackMe.apk
Download file
package kotlin.reflect.jvm.internal;
import java.util.List;
import kotlin.Metadata;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.internal.Intrinsics;
import kotlin.reflect.KParameter;
import kotlin.reflect.jvm.internal.impl.descriptors.CallableDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.FunctionDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.PropertyDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.ReceiverParameterDescriptor;
import kotlin.reflect.jvm.internal.impl.descriptors.ValueParameterDescriptor;
import kotlin.reflect.jvm.internal.impl.name.Name;
import kotlin.reflect.jvm.internal.impl.renderer.DescriptorRenderer;
import kotlin.reflect.jvm.internal.impl.types.KotlinType;
@Metadata(d1 = {"\u0000P\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\bÀ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\bH\u0002J\u000e\u0010\t\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\nJ\u000e\u0010\u000b\u001a\u00020\u00062\u0006\u0010\f\u001a\u00020\nJ\u000e\u0010\r\u001a\u00020\u00062\u0006\u0010\u000e\u001a\u00020\u000fJ\u000e\u0010\u0010\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0011J\u000e\u0010\u0012\u001a\u00020\u00062\u0006\u0010\u0013\u001a\u00020\u0014J\u001a\u0010\u0015\u001a\u00020\u0016*\u00060\u0017j\u0002`\u00182\b\u0010\u0019\u001a\u0004\u0018\u00010\u001aH\u0002J\u0018\u0010\u001b\u001a\u00020\u0016*\u00060\u0017j\u0002`\u00182\u0006\u0010\u001c\u001a\u00020\bH\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0004¢\u0006\u0002\n\u0000¨\u0006\u001d"}, d2 = {"Lkotlin/reflect/jvm/internal/ReflectionObjectRenderer;", "", "()V", "renderer", "Lkotlin/reflect/jvm/internal/impl/renderer/DescriptorRenderer;", "renderCallable", "", "descriptor", "Lkotlin/reflect/jvm/internal/impl/descriptors/CallableDescriptor;", "renderFunction", "Lkotlin/reflect/jvm/internal/impl/descriptors/FunctionDescriptor;", "renderLambda", "invoke", "renderParameter", "parameter", "Lkotlin/reflect/jvm/internal/KParameterImpl;", "renderProperty", "Lkotlin/reflect/jvm/internal/impl/descriptors/PropertyDescriptor;", "renderType", "type", "Lkotlin/reflect/jvm/internal/impl/types/KotlinType;", "appendReceiverType", "", "Ljava/lang/StringBuilder;", "Lkotlin/text/StringBuilder;", "receiver", "Lkotlin/reflect/jvm/internal/impl/descriptors/ReceiverParameterDescriptor;", "appendReceivers", "callable", "kotlin-reflection"}, k = 1, mv = {1, 6, 0}, xi = 48)
/* compiled from: ReflectionObjectRenderer.kt */
public final class ReflectionObjectRenderer {
public static final ReflectionObjectRenderer INSTANCE = new ReflectionObjectRenderer();
private static final DescriptorRenderer renderer = DescriptorRenderer.FQ_NAMES_IN_TYPES;
@Metadata(k = 3, mv = {1, 6, 0}, xi = 48)
/* compiled from: ReflectionObjectRenderer.kt */
public /* synthetic */ class WhenMappings {
public static final /* synthetic */ int[] $EnumSwitchMapping$0;
static {
int[] iArr = new int[KParameter.Kind.values().length];
iArr[KParameter.Kind.EXTENSION_RECEIVER.ordinal()] = 1;
iArr[KParameter.Kind.INSTANCE.ordinal()] = 2;
iArr[KParameter.Kind.VALUE.ordinal()] = 3;
$EnumSwitchMapping$0 = iArr;
}
}
private ReflectionObjectRenderer() {
}
private final void appendReceiverType(StringBuilder sb, ReceiverParameterDescriptor receiverParameterDescriptor) {
if (receiverParameterDescriptor != null) {
KotlinType type = receiverParameterDescriptor.getType();
Intrinsics.checkNotNullExpressionValue(type, "receiver.type");
sb.append(renderType(type));
sb.append(".");
}
}
private final void appendReceivers(StringBuilder sb, CallableDescriptor callableDescriptor) {
ReceiverParameterDescriptor instanceReceiverParameter = UtilKt.getInstanceReceiverParameter(callableDescriptor);
ReceiverParameterDescriptor extensionReceiverParameter = callableDescriptor.getExtensionReceiverParameter();
appendReceiverType(sb, instanceReceiverParameter);
boolean z = (instanceReceiverParameter == null || extensionReceiverParameter == null) ? false : true;
if (z) {
sb.append("(");
}
appendReceiverType(sb, extensionReceiverParameter);
if (z) {
sb.append(")");
}
}
private final String renderCallable(CallableDescriptor callableDescriptor) {
if (callableDescriptor instanceof PropertyDescriptor) {
return renderProperty((PropertyDescriptor) callableDescriptor);
}
if (callableDescriptor instanceof FunctionDescriptor) {
return renderFunction((FunctionDescriptor) callableDescriptor);
}
throw new IllegalStateException(Intrinsics.stringPlus("Illegal callable: ", callableDescriptor).toString());
}
public final String renderProperty(PropertyDescriptor propertyDescriptor) {
Intrinsics.checkNotNullParameter(propertyDescriptor, "descriptor");
StringBuilder sb = new StringBuilder();
sb.append(propertyDescriptor.isVar() ? "var " : "val ");
ReflectionObjectRenderer reflectionObjectRenderer = INSTANCE;
reflectionObjectRenderer.appendReceivers(sb, propertyDescriptor);
DescriptorRenderer descriptorRenderer = renderer;
Name name = propertyDescriptor.getName();
Intrinsics.checkNotNullExpressionValue(name, "descriptor.name");
sb.append(descriptorRenderer.renderName(name, true));
sb.append(": ");
KotlinType type = propertyDescriptor.getType();
Intrinsics.checkNotNullExpressionValue(type, "descriptor.type");
sb.append(reflectionObjectRenderer.renderType(type));
String sb2 = sb.toString();
Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()");
return sb2;
}
public final String renderFunction(FunctionDescriptor functionDescriptor) {
Intrinsics.checkNotNullParameter(functionDescriptor, "descriptor");
StringBuilder sb = new StringBuilder();
sb.append("fun ");
ReflectionObjectRenderer reflectionObjectRenderer = INSTANCE;
reflectionObjectRenderer.appendReceivers(sb, functionDescriptor);
DescriptorRenderer descriptorRenderer = renderer;
Name name = functionDescriptor.getName();
Intrinsics.checkNotNullExpressionValue(name, "descriptor.name");
sb.append(descriptorRenderer.renderName(name, true));
List<ValueParameterDescriptor> valueParameters = functionDescriptor.getValueParameters();
Intrinsics.checkNotNullExpressionValue(valueParameters, "descriptor.valueParameters");
CollectionsKt.joinTo$default(valueParameters, sb, ", ", "(", ")", 0, (CharSequence) null, ReflectionObjectRenderer$renderFunction$1$1.INSTANCE, 48, (Object) null);
sb.append(": ");
KotlinType returnType = functionDescriptor.getReturnType();
Intrinsics.checkNotNull(returnType);
Intrinsics.checkNotNullExpressionValue(returnType, "descriptor.returnType!!");
sb.append(reflectionObjectRenderer.renderType(returnType));
String sb2 = sb.toString();
Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()");
return sb2;
}
public final String renderLambda(FunctionDescriptor functionDescriptor) {
Intrinsics.checkNotNullParameter(functionDescriptor, "invoke");
StringBuilder sb = new StringBuilder();
ReflectionObjectRenderer reflectionObjectRenderer = INSTANCE;
reflectionObjectRenderer.appendReceivers(sb, functionDescriptor);
List<ValueParameterDescriptor> valueParameters = functionDescriptor.getValueParameters();
Intrinsics.checkNotNullExpressionValue(valueParameters, "invoke.valueParameters");
CollectionsKt.joinTo$default(valueParameters, sb, ", ", "(", ")", 0, (CharSequence) null, ReflectionObjectRenderer$renderLambda$1$1.INSTANCE, 48, (Object) null);
sb.append(" -> ");
KotlinType returnType = functionDescriptor.getReturnType();
Intrinsics.checkNotNull(returnType);
Intrinsics.checkNotNullExpressionValue(returnType, "invoke.returnType!!");
sb.append(reflectionObjectRenderer.renderType(returnType));
String sb2 = sb.toString();
Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()");
return sb2;
}
public final String renderParameter(KParameterImpl kParameterImpl) {
Intrinsics.checkNotNullParameter(kParameterImpl, "parameter");
StringBuilder sb = new StringBuilder();
int i = WhenMappings.$EnumSwitchMapping$0[kParameterImpl.getKind().ordinal()];
if (i == 1) {
sb.append("extension receiver parameter");
} else if (i == 2) {
sb.append("instance parameter");
} else if (i == 3) {
sb.append("parameter #" + kParameterImpl.getIndex() + ' ' + kParameterImpl.getName());
}
sb.append(" of ");
sb.append(INSTANCE.renderCallable(kParameterImpl.getCallable().getDescriptor()));
String sb2 = sb.toString();
Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder().apply(builderAction).toString()");
return sb2;
}
public final String renderType(KotlinType kotlinType) {
Intrinsics.checkNotNullParameter(kotlinType, SessionDescription.ATTR_TYPE);
return renderer.renderType(kotlinType);
}
}
Download file