100 lines
3.5 KiB
Java
100 lines
3.5 KiB
Java
package zg;
|
|
|
|
import ce.d;
|
|
import kotlin.jvm.internal.g0;
|
|
import kotlin.jvm.internal.s;
|
|
import kotlinx.serialization.KSerializer;
|
|
import kotlinx.serialization.descriptors.SerialDescriptor;
|
|
import kotlinx.serialization.encoding.Decoder;
|
|
import kotlinx.serialization.encoding.Encoder;
|
|
import vg.a;
|
|
import vg.e;
|
|
import vg.i;
|
|
import vg.j;
|
|
import yg.c;
|
|
/* compiled from: AbstractPolymorphicSerializer.kt */
|
|
/* loaded from: classes5.dex */
|
|
public abstract class b<T> implements KSerializer<T> {
|
|
private final T a(c cVar) {
|
|
return (T) c.a.c(cVar, getDescriptor(), 1, e.a(this, cVar, cVar.u(getDescriptor(), 0)), null, 8, null);
|
|
}
|
|
|
|
public a<? extends T> b(c decoder, String str) {
|
|
s.e(decoder, "decoder");
|
|
return decoder.a().d(d(), str);
|
|
}
|
|
|
|
public j<T> c(Encoder encoder, T value) {
|
|
s.e(encoder, "encoder");
|
|
s.e(value, "value");
|
|
return encoder.a().e(d(), value);
|
|
}
|
|
|
|
public abstract d<T> d();
|
|
|
|
@Override // vg.a
|
|
public final T deserialize(Decoder decoder) {
|
|
s.e(decoder, "decoder");
|
|
SerialDescriptor descriptor = getDescriptor();
|
|
c c10 = decoder.c(descriptor);
|
|
try {
|
|
g0 g0Var = new g0();
|
|
T t10 = null;
|
|
if (c10.y()) {
|
|
T a10 = a(c10);
|
|
c10.b(descriptor);
|
|
return a10;
|
|
}
|
|
while (true) {
|
|
int x10 = c10.x(getDescriptor());
|
|
if (x10 != -1) {
|
|
if (x10 == 0) {
|
|
g0Var.f15968j = (T) c10.u(getDescriptor(), x10);
|
|
} else if (x10 != 1) {
|
|
StringBuilder sb2 = new StringBuilder();
|
|
sb2.append("Invalid index in polymorphic deserialization of ");
|
|
String str = (String) g0Var.f15968j;
|
|
if (str == null) {
|
|
str = "unknown class";
|
|
}
|
|
sb2.append(str);
|
|
sb2.append("\n Expected 0, 1 or DECODE_DONE(-1), but found ");
|
|
sb2.append(x10);
|
|
throw new i(sb2.toString());
|
|
} else {
|
|
T t11 = g0Var.f15968j;
|
|
if (t11 != null) {
|
|
g0Var.f15968j = t11;
|
|
t10 = (T) c.a.c(c10, getDescriptor(), x10, e.a(this, c10, (String) t11), null, 8, null);
|
|
} else {
|
|
throw new IllegalArgumentException("Cannot read polymorphic value before its type token".toString());
|
|
}
|
|
}
|
|
} else if (t10 != null) {
|
|
c10.b(descriptor);
|
|
return t10;
|
|
} else {
|
|
throw new IllegalArgumentException(s.n("Polymorphic value has not been read for class ", g0Var.f15968j).toString());
|
|
}
|
|
}
|
|
} finally {
|
|
throw th;
|
|
}
|
|
}
|
|
|
|
@Override // vg.j
|
|
public final void serialize(Encoder encoder, T value) {
|
|
s.e(encoder, "encoder");
|
|
s.e(value, "value");
|
|
j<? super T> b10 = e.b(this, encoder, value);
|
|
SerialDescriptor descriptor = getDescriptor();
|
|
yg.d c10 = encoder.c(descriptor);
|
|
try {
|
|
c10.q(getDescriptor(), 0, b10.getDescriptor().a());
|
|
c10.r(getDescriptor(), 1, b10, value);
|
|
c10.b(descriptor);
|
|
} finally {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|