96 lines
4.4 KiB
Java
96 lines
4.4 KiB
Java
package com.thoughtworks.xstream.converters.extended;
|
|
|
|
import com.thoughtworks.xstream.converters.ConversionException;
|
|
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class StackTraceElementConverter extends AbstractSingleValueConverter {
|
|
private static final StackTraceElementFactory FACTORY;
|
|
private static final Pattern PATTERN = Pattern.compile("^(.+)\\.([^\\(]+)\\(([^:]*)(:(\\d+))?\\)$");
|
|
static /* synthetic */ Class class$java$lang$StackTraceElement;
|
|
|
|
/* JADX WARN: Can't wrap try/catch for region: R(10:0|1|(9:3|4|5|(1:7)|8|9|10|11|12)|18|(0)|8|9|10|11|12) */
|
|
/* JADX WARN: Removed duplicated region for block: B:7:0x0021 */
|
|
static {
|
|
/*
|
|
java.lang.String r0 = "^(.+)\\.([^\\(]+)\\(([^:]*)(:(\\d+))?\\)$"
|
|
java.util.regex.Pattern r0 = java.util.regex.Pattern.compile(r0)
|
|
com.thoughtworks.xstream.converters.extended.StackTraceElementConverter.PATTERN = r0
|
|
r0 = 5
|
|
boolean r0 = com.thoughtworks.xstream.core.JVM.isVersion(r0)
|
|
r1 = 0
|
|
if (r0 == 0) goto L1e
|
|
r0 = 0
|
|
java.lang.String r2 = "com.thoughtworks.xstream.converters.extended.StackTraceElementFactory15"
|
|
java.lang.Class r0 = com.thoughtworks.xstream.core.JVM.loadClassForName(r2, r0)
|
|
java.lang.Object r0 = r0.newInstance() // Catch: java.lang.Throwable -> L1e
|
|
com.thoughtworks.xstream.converters.extended.StackTraceElementFactory r0 = (com.thoughtworks.xstream.converters.extended.StackTraceElementFactory) r0 // Catch: java.lang.Throwable -> L1e
|
|
goto L1f
|
|
L1e:
|
|
r0 = r1
|
|
L1f:
|
|
if (r0 != 0) goto L26
|
|
com.thoughtworks.xstream.converters.extended.StackTraceElementFactory r0 = new com.thoughtworks.xstream.converters.extended.StackTraceElementFactory
|
|
r0.<init>()
|
|
L26:
|
|
java.lang.String r2 = "a"
|
|
java.lang.String r3 = "b"
|
|
r0.unknownSourceElement(r2, r3) // Catch: java.lang.Throwable -> L2e
|
|
r1 = r0
|
|
L2e:
|
|
com.thoughtworks.xstream.converters.extended.StackTraceElementConverter.FACTORY = r1
|
|
return
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.thoughtworks.xstream.converters.extended.StackTraceElementConverter.<clinit>():void");
|
|
}
|
|
|
|
static /* synthetic */ Class class$(String str) {
|
|
try {
|
|
return Class.forName(str);
|
|
} catch (ClassNotFoundException e) {
|
|
throw new NoClassDefFoundError().initCause(e);
|
|
}
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.ConverterMatcher
|
|
public boolean canConvert(Class cls) {
|
|
Class cls2 = class$java$lang$StackTraceElement;
|
|
if (cls2 == null) {
|
|
cls2 = class$("java.lang.StackTraceElement");
|
|
class$java$lang$StackTraceElement = cls2;
|
|
}
|
|
return cls2.equals(cls) && FACTORY != null;
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
|
|
public Object fromString(String str) {
|
|
Matcher matcher = PATTERN.matcher(str);
|
|
if (!matcher.matches()) {
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append("Could not parse StackTraceElement : ");
|
|
stringBuffer.append(str);
|
|
throw new ConversionException(stringBuffer.toString());
|
|
}
|
|
String group = matcher.group(1);
|
|
String group2 = matcher.group(2);
|
|
String group3 = matcher.group(3);
|
|
if (group3.equals("Unknown Source")) {
|
|
return FACTORY.unknownSourceElement(group, group2);
|
|
}
|
|
if (group3.equals("Native Method")) {
|
|
return FACTORY.nativeMethodElement(group, group2);
|
|
}
|
|
if (matcher.group(4) == null) {
|
|
return FACTORY.element(group, group2, group3);
|
|
}
|
|
return FACTORY.element(group, group2, group3, Integer.parseInt(matcher.group(5)));
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
|
|
public String toString(Object obj) {
|
|
return super.toString(obj).replaceFirst(":\\?\\?\\?", "");
|
|
}
|
|
}
|