package com.alibaba.fastjson.parser.deserializer; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.parser.DefaultJSONParser; import com.alibaba.fastjson.parser.Feature; import com.alibaba.fastjson.parser.JSONLexer; import com.alibaba.fastjson.parser.JSONLexerBase; import com.alibaba.fastjson.parser.JSONToken; import com.alibaba.fastjson.parser.ParseContext; import com.alibaba.fastjson.parser.ParserConfig; import com.alibaba.fastjson.util.FieldInfo; import com.alibaba.fastjson.util.JavaBeanInfo; import com.alibaba.fastjson.util.TypeUtils; import com.umeng.analytics.pro.am; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Proxy; import java.lang.reflect.Type; import java.math.BigDecimal; import java.math.BigInteger; import java.util.Arrays; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; public class JavaBeanDeserializer implements ObjectDeserializer { private final Map<String, FieldDeserializer> alterNameFieldDeserializers; private final ParserConfig.AutoTypeCheckHandler autoTypeCheckHandler; public final JavaBeanInfo beanInfo; protected final Class<?> clazz; private ConcurrentMap<String, Object> extraFieldDeserializers; private Map<String, FieldDeserializer> fieldDeserializerMap; private final FieldDeserializer[] fieldDeserializers; private transient long[] hashArray; private transient short[] hashArrayMapping; private transient long[] smartMatchHashArray; private transient short[] smartMatchHashArrayMapping; protected final FieldDeserializer[] sortedFieldDeserializers; @Override // com.alibaba.fastjson.parser.deserializer.ObjectDeserializer public int getFastMatchToken() { return 12; } public JavaBeanDeserializer(ParserConfig parserConfig, Class<?> cls) { this(parserConfig, cls, cls); } public JavaBeanDeserializer(ParserConfig parserConfig, Class<?> cls, Type type) { this(parserConfig, JavaBeanInfo.build(cls, type, parserConfig.propertyNamingStrategy, parserConfig.fieldBased, parserConfig.compatibleWithJavaBean, parserConfig.isJacksonCompatible())); } /* JADX WARNING: Removed duplicated region for block: B:10:0x0036 */ /* JADX WARNING: Removed duplicated region for block: B:25:0x007e A[LOOP:2: B:24:0x007c->B:25:0x007e, LOOP_END] */ public JavaBeanDeserializer(ParserConfig parserConfig, JavaBeanInfo javaBeanInfo) { ParserConfig.AutoTypeCheckHandler autoTypeCheckHandler2; int length; int i; int i2; int length2; this.clazz = javaBeanInfo.clazz; this.beanInfo = javaBeanInfo; HashMap hashMap = null; if (!(javaBeanInfo.jsonType == null || javaBeanInfo.jsonType.autoTypeCheckHandler() == ParserConfig.AutoTypeCheckHandler.class)) { try { autoTypeCheckHandler2 = (ParserConfig.AutoTypeCheckHandler) javaBeanInfo.jsonType.autoTypeCheckHandler().newInstance(); } catch (Exception unused) { } this.autoTypeCheckHandler = autoTypeCheckHandler2; this.sortedFieldDeserializers = new FieldDeserializer[javaBeanInfo.sortedFields.length]; length = javaBeanInfo.sortedFields.length; for (i2 = 0; i2 < length; i2++) { FieldInfo fieldInfo = javaBeanInfo.sortedFields[i2]; FieldDeserializer createFieldDeserializer = parserConfig.createFieldDeserializer(parserConfig, javaBeanInfo, fieldInfo); this.sortedFieldDeserializers[i2] = createFieldDeserializer; if (length > 128) { if (this.fieldDeserializerMap == null) { this.fieldDeserializerMap = new HashMap(); } this.fieldDeserializerMap.put(fieldInfo.name, createFieldDeserializer); } String[] strArr = fieldInfo.alternateNames; for (String str : strArr) { if (hashMap == null) { hashMap = new HashMap(); } hashMap.put(str, createFieldDeserializer); } } this.alterNameFieldDeserializers = hashMap; this.fieldDeserializers = new FieldDeserializer[javaBeanInfo.fields.length]; length2 = javaBeanInfo.fields.length; for (i = 0; i < length2; i++) { this.fieldDeserializers[i] = getFieldDeserializer(javaBeanInfo.fields[i].name); } } autoTypeCheckHandler2 = null; this.autoTypeCheckHandler = autoTypeCheckHandler2; this.sortedFieldDeserializers = new FieldDeserializer[javaBeanInfo.sortedFields.length]; length = javaBeanInfo.sortedFields.length; while (i2 < length) { } this.alterNameFieldDeserializers = hashMap; this.fieldDeserializers = new FieldDeserializer[javaBeanInfo.fields.length]; length2 = javaBeanInfo.fields.length; while (i < length2) { } } public FieldDeserializer getFieldDeserializer(String str) { return getFieldDeserializer(str, null); } public FieldDeserializer getFieldDeserializer(String str, int[] iArr) { FieldDeserializer fieldDeserializer; if (str == null) { return null; } Map<String, FieldDeserializer> map = this.fieldDeserializerMap; if (map != null && (fieldDeserializer = map.get(str)) != null) { return fieldDeserializer; } int i = 0; int length = this.sortedFieldDeserializers.length - 1; while (i <= length) { int i2 = (i + length) >>> 1; int compareTo = this.sortedFieldDeserializers[i2].fieldInfo.name.compareTo(str); if (compareTo < 0) { i = i2 + 1; } else if (compareTo > 0) { length = i2 - 1; } else if (isSetFlag(i2, iArr)) { return null; } else { return this.sortedFieldDeserializers[i2]; } } Map<String, FieldDeserializer> map2 = this.alterNameFieldDeserializers; if (map2 != null) { return map2.get(str); } return null; } public FieldDeserializer getFieldDeserializer(long j) { int i = 0; if (this.hashArray == null) { long[] jArr = new long[this.sortedFieldDeserializers.length]; int i2 = 0; while (true) { FieldDeserializer[] fieldDeserializerArr = this.sortedFieldDeserializers; if (i2 >= fieldDeserializerArr.length) { break; } jArr[i2] = TypeUtils.fnv1a_64(fieldDeserializerArr[i2].fieldInfo.name); i2++; } Arrays.sort(jArr); this.hashArray = jArr; } int binarySearch = Arrays.binarySearch(this.hashArray, j); if (binarySearch < 0) { return null; } if (this.hashArrayMapping == null) { short[] sArr = new short[this.hashArray.length]; Arrays.fill(sArr, (short) -1); while (true) { FieldDeserializer[] fieldDeserializerArr2 = this.sortedFieldDeserializers; if (i >= fieldDeserializerArr2.length) { break; } int binarySearch2 = Arrays.binarySearch(this.hashArray, TypeUtils.fnv1a_64(fieldDeserializerArr2[i].fieldInfo.name)); if (binarySearch2 >= 0) { sArr[binarySearch2] = (short) i; } i++; } this.hashArrayMapping = sArr; } short s = this.hashArrayMapping[binarySearch]; if (s != -1) { return this.sortedFieldDeserializers[s]; } return null; } static boolean isSetFlag(int i, int[] iArr) { if (iArr == null) { return false; } int i2 = i / 32; int i3 = i % 32; if (i2 < iArr.length) { if (((1 << i3) & iArr[i2]) != 0) { return true; } } return false; } public Object createInstance(DefaultJSONParser defaultJSONParser, Type type) { Object obj; if (!(type instanceof Class) || !this.clazz.isInterface()) { Object obj2 = null; if (this.beanInfo.defaultConstructor == null && this.beanInfo.factoryMethod == null) { return null; } if (this.beanInfo.factoryMethod != null && this.beanInfo.defaultConstructorParameterSize > 0) { return null; } try { Constructor<?> constructor = this.beanInfo.defaultConstructor; if (this.beanInfo.defaultConstructorParameterSize != 0) { ParseContext context = defaultJSONParser.getContext(); if (context == null || context.object == null) { throw new JSONException("can't create non-static inner class instance."); } else if (type instanceof Class) { String name = ((Class) type).getName(); String substring = name.substring(0, name.lastIndexOf(36)); Object obj3 = context.object; String name2 = obj3.getClass().getName(); if (!name2.equals(substring)) { ParseContext parseContext = context.parent; if (parseContext == null || parseContext.object == null || (!"java.util.ArrayList".equals(name2) && !"java.util.List".equals(name2) && !"java.util.Collection".equals(name2) && !"java.util.Map".equals(name2) && !"java.util.HashMap".equals(name2))) { obj2 = obj3; } else if (parseContext.object.getClass().getName().equals(substring)) { obj2 = parseContext.object; } obj3 = obj2; } if (obj3 == null || ((obj3 instanceof Collection) && ((Collection) obj3).isEmpty())) { throw new JSONException("can't create non-static inner class instance."); } obj = constructor.newInstance(obj3); } else { throw new JSONException("can't create non-static inner class instance."); } } else if (constructor != null) { obj = constructor.newInstance(new Object[0]); } else { obj = this.beanInfo.factoryMethod.invoke(null, new Object[0]); } if (defaultJSONParser != null && defaultJSONParser.lexer.isEnabled(Feature.InitStringFieldAsEmpty)) { FieldInfo[] fieldInfoArr = this.beanInfo.fields; for (FieldInfo fieldInfo : fieldInfoArr) { if (fieldInfo.fieldClass == String.class) { try { fieldInfo.set(obj, ""); } catch (Exception e) { throw new JSONException("create instance error, class " + this.clazz.getName(), e); } } } } return obj; } catch (JSONException e2) { throw e2; } catch (Exception e3) { throw new JSONException("create instance error, class " + this.clazz.getName(), e3); } } else { return Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[]{(Class) type}, new JSONObject()); } } @Override // com.alibaba.fastjson.parser.deserializer.ObjectDeserializer public <T> T deserialze(DefaultJSONParser defaultJSONParser, Type type, Object obj) { return (T) deserialze(defaultJSONParser, type, obj, 0); } public <T> T deserialze(DefaultJSONParser defaultJSONParser, Type type, Object obj, int i) { return (T) deserialze(defaultJSONParser, type, obj, null, i, null); } public <T> T deserialzeArrayMapping(DefaultJSONParser defaultJSONParser, Type type, Object obj, Object obj2) { Enum<?> r1; JSONLexer jSONLexer = defaultJSONParser.lexer; if (jSONLexer.token() == 14) { String scanTypeName = jSONLexer.scanTypeName(defaultJSONParser.symbolTable); if (scanTypeName != null) { ObjectDeserializer seeAlso = getSeeAlso(defaultJSONParser.getConfig(), this.beanInfo, scanTypeName); if (seeAlso == null) { seeAlso = defaultJSONParser.getConfig().getDeserializer(defaultJSONParser.getConfig().checkAutoType(scanTypeName, TypeUtils.getClass(type), jSONLexer.getFeatures())); } if (seeAlso instanceof JavaBeanDeserializer) { return (T) ((JavaBeanDeserializer) seeAlso).deserialzeArrayMapping(defaultJSONParser, type, obj, obj2); } } T t = (T) createInstance(defaultJSONParser, type); int i = 0; int length = this.sortedFieldDeserializers.length; while (true) { int i2 = 16; if (i >= length) { break; } char c = i == length + -1 ? ']' : ','; FieldDeserializer fieldDeserializer = this.sortedFieldDeserializers[i]; Class<?> cls = fieldDeserializer.fieldInfo.fieldClass; if (cls == Integer.TYPE) { fieldDeserializer.setValue((Object) t, jSONLexer.scanInt(c)); } else if (cls == String.class) { fieldDeserializer.setValue((Object) t, jSONLexer.scanString(c)); } else if (cls == Long.TYPE) { fieldDeserializer.setValue(t, jSONLexer.scanLong(c)); } else if (cls.isEnum()) { char current = jSONLexer.getCurrent(); if (current == '\"' || current == 'n') { r1 = jSONLexer.scanEnum(cls, defaultJSONParser.getSymbolTable(), c); } else if (current < '0' || current > '9') { r1 = scanEnum(jSONLexer, c); } else { r1 = ((EnumDeserializer) ((DefaultFieldDeserializer) fieldDeserializer).getFieldValueDeserilizer(defaultJSONParser.getConfig())).valueOf(jSONLexer.scanInt(c)); } fieldDeserializer.setValue(t, r1); } else if (cls == Boolean.TYPE) { fieldDeserializer.setValue(t, jSONLexer.scanBoolean(c)); } else if (cls == Float.TYPE) { fieldDeserializer.setValue(t, Float.valueOf(jSONLexer.scanFloat(c))); } else if (cls == Double.TYPE) { fieldDeserializer.setValue(t, Double.valueOf(jSONLexer.scanDouble(c))); } else if (cls == Date.class && jSONLexer.getCurrent() == '1') { fieldDeserializer.setValue(t, new Date(jSONLexer.scanLong(c))); } else if (cls == BigDecimal.class) { fieldDeserializer.setValue(t, jSONLexer.scanDecimal(c)); } else { jSONLexer.nextToken(14); fieldDeserializer.setValue(t, defaultJSONParser.parseObject(fieldDeserializer.fieldInfo.fieldType, fieldDeserializer.fieldInfo.name)); if (jSONLexer.token() == 15) { break; } if (c == ']') { i2 = 15; } check(jSONLexer, i2); } i++; } jSONLexer.nextToken(16); return t; } throw new JSONException("error"); } /* access modifiers changed from: protected */ public void check(JSONLexer jSONLexer, int i) { if (jSONLexer.token() != i) { throw new JSONException("syntax error"); } } /* access modifiers changed from: protected */ public Enum<?> scanEnum(JSONLexer jSONLexer, char c) { throw new JSONException("illegal enum. " + jSONLexer.info()); } /* JADX DEBUG: Failed to insert an additional move for type inference into block B:742:0x0858 */ /* JADX DEBUG: Failed to insert an additional move for type inference into block B:634:0x089b */ /* JADX WARN: Multi-variable type inference failed */ /* JADX WARN: Type inference failed for: r32v0, types: [com.alibaba.fastjson.parser.DefaultJSONParser] */ /* JADX WARN: Type inference failed for: r4v15, types: [boolean] */ /* JADX WARN: Type inference failed for: r4v28 */ /* JADX WARN: Type inference failed for: r4v29 */ /* JADX WARN: Type inference failed for: r4v30, types: [int] */ /* JADX WARN: Type inference failed for: r4v33, types: [java.lang.Class<?>] */ /* JADX WARN: Type inference failed for: r2v68, types: [java.lang.Object] */ /* JADX WARN: Type inference failed for: r4v127 */ /* access modifiers changed from: protected */ /* JADX WARNING: Code restructure failed: missing block: B:292:0x038f, code lost: if (r12.matchStat == -2) goto L_0x0391; */ /* JADX WARNING: Code restructure failed: missing block: B:311:0x03da, code lost: if (r12.isEnabled(com.alibaba.fastjson.parser.Feature.AllowArbitraryCommas) != false) goto L_0x03dc; */ /* JADX WARNING: Code restructure failed: missing block: B:457:0x0636, code lost: if ((r29.parserFeatures & com.alibaba.fastjson.parser.Feature.TrimStringFieldValue.mask) != 0) goto L_0x0638; */ /* JADX WARNING: Code restructure failed: missing block: B:491:0x06d2, code lost: r1 = r19; r5 = r27; */ /* JADX WARNING: Code restructure failed: missing block: B:687:0x09a1, code lost: throw new com.alibaba.fastjson.JSONException("syntax error, unexpect token " + com.alibaba.fastjson.parser.JSONToken.name(r12.token())); */ /* JADX WARNING: Removed duplicated region for block: B:244:0x030b A[Catch:{ all -> 0x03e2 }] */ /* JADX WARNING: Removed duplicated region for block: B:302:0x03b3 A[SYNTHETIC, Splitter:B:302:0x03b3] */ /* JADX WARNING: Removed duplicated region for block: B:411:0x0589 */ /* JADX WARNING: Removed duplicated region for block: B:417:0x059c A[Catch:{ all -> 0x05c8 }] */ /* JADX WARNING: Removed duplicated region for block: B:421:0x05a9 A[Catch:{ all -> 0x066f }] */ /* JADX WARNING: Removed duplicated region for block: B:424:0x05b1 */ /* JADX WARNING: Removed duplicated region for block: B:432:0x05d5 */ /* JADX WARNING: Removed duplicated region for block: B:466:0x065e */ /* JADX WARNING: Removed duplicated region for block: B:487:0x06c5 */ /* JADX WARNING: Removed duplicated region for block: B:488:0x06c9 */ /* JADX WARNING: Removed duplicated region for block: B:614:0x085c A[SYNTHETIC, Splitter:B:614:0x085c] */ /* JADX WARNING: Removed duplicated region for block: B:634:0x089b A[SYNTHETIC, Splitter:B:634:0x089b] */ /* JADX WARNING: Removed duplicated region for block: B:701:0x09c3 */ /* JADX WARNING: Unknown variable types count: 2 */ public <T> T deserialze(DefaultJSONParser defaultJSONParser, Type type, Object obj, Object obj2, int i, int[] iArr) { T t; ParseContext parseContext; Throwable th; Throwable th2; ParseContext parseContext2; Throwable th3; int i2; JSONField jSONField; DefaultFieldDeserializer defaultFieldDeserializer; Class<?> cls; FieldInfo fieldInfo; boolean z; Object obj3; String str; HashMap hashMap; int[] iArr2; int i3; int i4; int[] iArr3; int i5; FieldInfo fieldInfo2; boolean z2; Object obj4; boolean z3; byte b; ParseContext parseContext3; Throwable th4; Object[] objArr; boolean z4; Object obj5; Exception exc; String str2; Class<?> cls2; String str3; HashMap hashMap2; int i6; Throwable th5; Throwable th6; Class<?> cls3; FieldDeserializer fieldDeserializer; T t2; Throwable th7; Class<?> cls4; if (type == JSON.class || type == JSONObject.class) { return (T) defaultJSONParser.parse(); } JSONLexerBase jSONLexerBase = (JSONLexerBase) defaultJSONParser.lexer; ParserConfig config = defaultJSONParser.getConfig(); int i7 = jSONLexerBase.token(); ParseContext parseContext4 = null; if (i7 == 8) { jSONLexerBase.nextToken(16); return null; } ParseContext context = defaultJSONParser.getContext(); if (!(obj2 == null || context == null)) { context = context.parent; } ParseContext parseContext5 = context; if (i7 == 13) { try { jSONLexerBase.nextToken(16); T t3 = obj2 == null ? (T) createInstance((DefaultJSONParser) defaultJSONParser, type) : (T) obj2; defaultJSONParser.setContext(parseContext5); return t3; } catch (Throwable th8) { t = (T) obj2; th = th8; parseContext = parseContext5; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else { if (i7 == 14) { int i8 = Feature.SupportArrayToBean.mask; if (((this.beanInfo.parserFeatures & i8) == 0 && !jSONLexerBase.isEnabled(Feature.SupportArrayToBean) && (i & i8) == 0) ? false : true) { T t4 = (T) deserialzeArrayMapping(defaultJSONParser, type, obj, obj2); defaultJSONParser.setContext(parseContext5); return t4; } } if (i7 == 12 || i7 == 16) { try { if (defaultJSONParser.resolveStatus == 2) { defaultJSONParser.resolveStatus = 0; } String str4 = this.beanInfo.typeKey; Object obj6 = obj2; int[] iArr4 = iArr; ParseContext parseContext6 = null; HashMap hashMap3 = null; int i9 = 0; int i10 = 0; while (true) { try { FieldDeserializer[] fieldDeserializerArr = this.sortedFieldDeserializers; if (i10 >= fieldDeserializerArr.length || i9 >= 16) { i2 = i10; z = false; fieldInfo = null; cls = null; defaultFieldDeserializer = null; jSONField = null; } else { try { FieldDeserializer fieldDeserializer2 = fieldDeserializerArr[i10]; FieldInfo fieldInfo3 = fieldDeserializer2.fieldInfo; i2 = i10; Class<?> cls5 = fieldInfo3.fieldClass; jSONField = fieldInfo3.getAnnotation(); if (jSONField != null) { cls4 = cls5; if (fieldDeserializer2 instanceof DefaultFieldDeserializer) { z = ((DefaultFieldDeserializer) fieldDeserializer2).customDeserilizer; fieldInfo = fieldInfo3; defaultFieldDeserializer = fieldDeserializer2; cls = cls4; } } else { cls4 = cls5; } fieldInfo = fieldInfo3; z = false; defaultFieldDeserializer = fieldDeserializer2; cls = cls4; } catch (Throwable th9) { th2 = th9; t = obj6; parseContext4 = parseContext6; parseContext = parseContext5; th = th2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } if (defaultFieldDeserializer != null) { iArr3 = iArr4; try { char[] cArr = fieldInfo.name_chars; if (!z || !jSONLexerBase.matchField(cArr)) { obj3 = obj6; if (cls == Integer.TYPE || cls == Integer.class) { fieldInfo2 = fieldInfo; int scanFieldInt = jSONLexerBase.scanFieldInt(cArr); if (scanFieldInt == 0 && jSONLexerBase.matchStat == 5) { obj4 = null; } else { obj4 = Integer.valueOf(scanFieldInt); } if (jSONLexerBase.matchStat > 0) { } } else { try { if (cls != Long.TYPE) { if (cls != Long.class) { if (cls == String.class) { obj4 = jSONLexerBase.scanFieldString(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { try { str3 = jSONLexerBase.scanSymbol(defaultJSONParser.symbolTable); if (str3 == null) { i5 = i9; int i11 = jSONLexerBase.token(); cls2 = cls; if (i11 == 13) { jSONLexerBase.nextToken(16); t = (T) obj3; break; } else if (i11 == 16) { } } else { i5 = i9; cls2 = cls; } if ("$ref" == str3 && parseContext5 != null) { jSONLexerBase.nextTokenWithColon(4); int i12 = jSONLexerBase.token(); if (i12 == 4) { String stringVal = jSONLexerBase.stringVal(); if ("@".equals(stringVal)) { t2 = (T) parseContext5.object; } else { if ("..".equals(stringVal)) { ParseContext parseContext7 = parseContext5.parent; if (parseContext7.object != null) { t2 = (T) parseContext7.object; } else { defaultJSONParser.addResolveTask(new DefaultJSONParser.ResolveTask(parseContext7, stringVal)); defaultJSONParser.resolveStatus = 1; } } else if ("$".equals(stringVal)) { ParseContext parseContext8 = parseContext5; while (parseContext8.parent != null) { parseContext8 = parseContext8.parent; } if (parseContext8.object != null) { t2 = (T) parseContext8.object; } else { defaultJSONParser.addResolveTask(new DefaultJSONParser.ResolveTask(parseContext8, stringVal)); defaultJSONParser.resolveStatus = 1; } } else { if (stringVal.indexOf(92) > 0) { StringBuilder sb = new StringBuilder(); int i13 = 0; while (i13 < stringVal.length()) { char charAt = stringVal.charAt(i13); if (charAt == '\\') { i13++; charAt = stringVal.charAt(i13); } sb.append(charAt); i13++; } stringVal = sb.toString(); } ?? resolveReference = defaultJSONParser.resolveReference(stringVal); if (resolveReference != null) { t2 = resolveReference; } else { defaultJSONParser.addResolveTask(new DefaultJSONParser.ResolveTask(parseContext5, stringVal)); defaultJSONParser.resolveStatus = 1; } } t2 = (T) obj3; } jSONLexerBase.nextToken(13); if (jSONLexerBase.token() == 13) { jSONLexerBase.nextToken(16); defaultJSONParser.setContext(parseContext5, t2, obj); if (parseContext6 != null) { parseContext6.object = t2; } defaultJSONParser.setContext(parseContext5); return t2; } throw new JSONException("illegal ref"); } throw new JSONException("illegal ref, " + JSONToken.name(i12)); } else if ((str4 == null || !str4.equals(str3)) && JSON.DEFAULT_TYPE_KEY != str3) { t = obj3; } else { jSONLexerBase.nextTokenWithColon(4); if (jSONLexerBase.token() == 4) { String stringVal2 = jSONLexerBase.stringVal(); jSONLexerBase.nextToken(16); if (stringVal2.equals(this.beanInfo.typeName) || defaultJSONParser.isEnabled(Feature.IgnoreAutoType)) { t = (T) obj3; try { if (jSONLexerBase.token() == 13) { jSONLexerBase.nextToken(); break; } i4 = i2; str = str4; parseContext = parseContext5; obj3 = t; hashMap = hashMap3; i3 = i5; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } catch (Throwable th10) { th6 = th10; th = th6; parseContext4 = parseContext6; parseContext = parseContext5; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else { ObjectDeserializer seeAlso = getSeeAlso(config, this.beanInfo, stringVal2); if (seeAlso == null) { Class<?> cls6 = TypeUtils.getClass(type); ParserConfig.AutoTypeCheckHandler autoTypeCheckHandler2 = this.autoTypeCheckHandler; cls3 = autoTypeCheckHandler2 != null ? autoTypeCheckHandler2.handler(stringVal2, cls6, jSONLexerBase.getFeatures()) : null; if (cls3 == null) { cls3 = config.checkAutoType(stringVal2, cls6, jSONLexerBase.getFeatures()); } seeAlso = defaultJSONParser.getConfig().getDeserializer(cls3); } else { cls3 = null; } T t5 = (T) seeAlso.deserialze(defaultJSONParser, cls3, obj); if (seeAlso instanceof JavaBeanDeserializer) { JavaBeanDeserializer javaBeanDeserializer = (JavaBeanDeserializer) seeAlso; if (!(str4 == null || (fieldDeserializer = javaBeanDeserializer.getFieldDeserializer(str4)) == null)) { fieldDeserializer.setValue((Object) t5, stringVal2); } } if (parseContext6 != null) { parseContext6.object = obj3; } defaultJSONParser.setContext(parseContext5); return t5; } } else { throw new JSONException("syntax error"); } } } catch (Throwable th11) { th6 = th11; t = obj3; th = th6; parseContext4 = parseContext6; parseContext = parseContext5; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else { i5 = i9; cls2 = cls; t = obj3; str3 = null; } if (t == null && hashMap3 == null) { t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { parseContext2 = parseContext6; try { hashMap3 = new HashMap(this.fieldDeserializers.length); } catch (Throwable th12) { th5 = th12; th = th5; parseContext = parseContext5; parseContext4 = parseContext2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = new int[((this.fieldDeserializers.length / 32) + 1)]; if (!z3) { if (z2) { if (t == null) { hashMap2.put(fieldInfo2.name, obj4); } else if (obj4 != null) { String str5 = obj4; if (cls2 == String.class) { if ((i & Feature.TrimStringFieldValue.mask) == 0 && (this.beanInfo.parserFeatures & Feature.TrimStringFieldValue.mask) == 0) { str5 = obj4; } str5 = ((String) obj4).trim(); } defaultFieldDeserializer.setValue(t, str5); } else if (!(cls2 == Integer.TYPE || cls2 == Long.TYPE || cls2 == Float.TYPE || cls2 == Double.TYPE || cls2 == Boolean.TYPE)) { defaultFieldDeserializer.setValue(t, obj4); } if (iArr2 != null) { int i14 = i2 / 32; iArr2[i14] = (1 << (i2 % 32)) | iArr2[i14]; } if (jSONLexerBase.matchStat == 4) { hashMap = hashMap2; parseContext3 = parseContext5; b = 0; break; } } else { defaultFieldDeserializer.parseField(defaultJSONParser, t, type, hashMap2); } i4 = i2; hashMap = hashMap2; str = str4; parseContext3 = parseContext5; i3 = i5; b = 0; i6 = 13; if (jSONLexerBase.token() != 16) { parseContext = parseContext3; } else if (jSONLexerBase.token() == i6) { jSONLexerBase.nextToken(16); break; } else { parseContext = parseContext3; try { if (jSONLexerBase.token() == 18 || jSONLexerBase.token() == 1) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } catch (Throwable th13) { th3 = th13; th = th3; parseContext4 = parseContext2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } } else { i3 = i5; i4 = i2; hashMap = hashMap2; b = 0; str = str4; i6 = 13; parseContext3 = parseContext5; try { if (!parseField(defaultJSONParser, str3, t, type, hashMap2 == null ? new HashMap(this.fieldDeserializers.length) : hashMap2, iArr2)) { try { if (jSONLexerBase.token() == 13) { jSONLexerBase.nextToken(); break; } parseContext = parseContext3; } catch (Throwable th14) { th = th14; parseContext4 = parseContext2; parseContext = parseContext3; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else { if (jSONLexerBase.token() == 17) { throw new JSONException("syntax error, unexpect token ':'"); } if (jSONLexerBase.token() != 16) { } } } catch (Throwable th15) { th3 = th15; parseContext = parseContext3; th = th3; parseContext4 = parseContext2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (cls == Date.class && fieldInfo.format == null) { obj4 = jSONLexerBase.scanFieldDate(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (cls == BigDecimal.class) { obj4 = jSONLexerBase.scanFieldDecimal(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (cls == BigInteger.class) { obj4 = jSONLexerBase.scanFieldBigInteger(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else { if (cls != Boolean.TYPE) { if (cls != Boolean.class) { if (cls != Float.TYPE) { if (cls != Float.class) { if (cls != Double.TYPE) { if (cls != Double.class) { if (!cls.isEnum() || !(defaultJSONParser.getConfig().getDeserializer(cls) instanceof EnumDeserializer) || !(jSONField == null || jSONField.deserializeUsing() == Void.class)) { if (cls == int[].class) { obj4 = jSONLexerBase.scanFieldIntArray(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (cls == float[].class) { obj4 = jSONLexerBase.scanFieldFloatArray(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (cls == float[][].class) { obj4 = jSONLexerBase.scanFieldFloatArray2(cArr); if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } fieldInfo2 = fieldInfo; z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (!jSONLexerBase.matchField(cArr)) { i5 = i9; t = obj3; i4 = i2; str = str4; parseContext = parseContext5; obj3 = t; hashMap = hashMap3; i3 = i5; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } else if (defaultFieldDeserializer instanceof DefaultFieldDeserializer) { obj4 = scanEnum(jSONLexerBase, cArr, defaultFieldDeserializer.fieldValueDeserilizer); if (jSONLexerBase.matchStat > 0) { z3 = true; z2 = true; } else if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } else { z3 = false; z2 = false; } fieldInfo2 = fieldInfo; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } } double scanFieldDouble = jSONLexerBase.scanFieldDouble(cArr); if (scanFieldDouble == 0.0d) { fieldInfo2 = fieldInfo; if (jSONLexerBase.matchStat == 5) { obj4 = null; if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } } else { fieldInfo2 = fieldInfo; } obj4 = Double.valueOf(scanFieldDouble); if (jSONLexerBase.matchStat <= 0) { } } } fieldInfo2 = fieldInfo; float scanFieldFloat = jSONLexerBase.scanFieldFloat(cArr); if (scanFieldFloat == 0.0f && jSONLexerBase.matchStat == 5) { obj4 = null; } else { obj4 = Float.valueOf(scanFieldFloat); } if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } } fieldInfo2 = fieldInfo; boolean scanFieldBoolean = jSONLexerBase.scanFieldBoolean(cArr); if (jSONLexerBase.matchStat == 5) { obj4 = null; } else { obj4 = Boolean.valueOf(scanFieldBoolean); } if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } fieldInfo2 = fieldInfo; } } fieldInfo2 = fieldInfo; long scanFieldLong = jSONLexerBase.scanFieldLong(cArr); if (scanFieldLong == 0 && jSONLexerBase.matchStat == 5) { obj4 = null; } else { obj4 = Long.valueOf(scanFieldLong); } if (jSONLexerBase.matchStat <= 0) { if (jSONLexerBase.matchStat == -2) { i4 = i2; i3 = i9 + 1; str = str4; parseContext = parseContext5; hashMap = hashMap3; iArr2 = iArr3; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } z3 = false; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } } catch (Throwable th16) { th7 = th16; th = th7; parseContext4 = parseContext6; parseContext = parseContext5; t = (T) obj3; if (parseContext4 != null) { parseContext4.object = t; } defaultJSONParser.setContext(parseContext); throw th; } } z3 = true; z2 = true; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } else { obj3 = obj6; } fieldInfo2 = fieldInfo; z3 = true; obj4 = null; z2 = false; if (!z3) { } t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } catch (Throwable th17) { th7 = th17; obj3 = obj6; th = th7; parseContext4 = parseContext6; parseContext = parseContext5; t = (T) obj3; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else { obj3 = obj6; iArr3 = iArr4; } fieldInfo2 = fieldInfo; z3 = false; obj4 = null; z2 = false; if (!z3) { } try { t = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (t == null) { } parseContext6 = defaultJSONParser.setContext(parseContext5, t, obj); if (iArr3 == null) { } parseContext2 = parseContext6; hashMap2 = hashMap3; iArr2 = iArr3; if (!z3) { } parseContext6 = parseContext2; obj3 = t; i10 = i4 + 1; iArr4 = iArr2; hashMap3 = hashMap; str4 = str; obj6 = obj3; parseContext5 = parseContext; i9 = i3; } catch (Throwable th18) { th5 = th18; parseContext2 = parseContext6; th = th5; parseContext = parseContext5; parseContext4 = parseContext2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } catch (Throwable th19) { th3 = th19; t = obj6; parseContext2 = parseContext6; parseContext = parseContext5; th = th3; parseContext4 = parseContext2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } parseContext3 = parseContext5; HashMap hashMap4 = hashMap3; b = 0; if (t != null) { parseContext = parseContext3; } else if (hashMap4 == null) { try { T t6 = (T) createInstance((DefaultJSONParser) defaultJSONParser, type); if (parseContext6 == null) { parseContext = parseContext3; try { parseContext6 = defaultJSONParser.setContext(parseContext, t6, obj); } catch (Throwable th20) { th2 = th20; t = t6; parseContext4 = parseContext6; } } else { parseContext = parseContext3; } if (parseContext6 != null) { parseContext6.object = t6; } defaultJSONParser.setContext(parseContext); return t6; } catch (Throwable th21) { th4 = th21; parseContext = parseContext3; th = th4; parseContext4 = parseContext6; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else { parseContext = parseContext3; try { String[] strArr = this.beanInfo.creatorConstructorParameters; String str6 = ""; if (strArr != null) { objArr = new Object[strArr.length]; int i15 = 0; while (i15 < strArr.length) { long remove = hashMap4.remove(strArr[i15]); if (remove == null) { Type type2 = this.beanInfo.creatorConstructorParameterTypes[i15]; FieldInfo fieldInfo4 = this.beanInfo.fields[i15]; if (type2 == Byte.TYPE) { remove = Byte.valueOf(b); } else if (type2 == Short.TYPE) { remove = Short.valueOf(b); } else if (type2 == Integer.TYPE) { remove = Integer.valueOf(b); } else if (type2 == Long.TYPE) { remove = 0L; } else if (type2 == Float.TYPE) { remove = Float.valueOf(0.0f); } else if (type2 == Double.TYPE) { remove = Double.valueOf(0.0d); } else if (type2 == Boolean.TYPE) { remove = Boolean.FALSE; } else if (type2 == String.class && (fieldInfo4.parserFeatures & Feature.InitStringFieldAsEmpty.mask) != 0) { remove = str6; } } else if (this.beanInfo.creatorConstructorParameterTypes != null && i15 < this.beanInfo.creatorConstructorParameterTypes.length) { Type type3 = this.beanInfo.creatorConstructorParameterTypes[i15]; if (type3 instanceof Class) { Class cls7 = (Class) type3; if (!cls7.isInstance(remove) && (remove instanceof List)) { List list = (List) remove; if (list.size() == 1) { if (cls7.isInstance(list.get(0))) { remove = list.get(0); } objArr[i15] = remove; i15++; b = 0; } } } } objArr[i15] = remove; i15++; b = 0; } } else { FieldInfo[] fieldInfoArr = this.beanInfo.fields; int length = fieldInfoArr.length; Object[] objArr2 = new Object[length]; int i16 = 0; while (i16 < length) { FieldInfo fieldInfo5 = fieldInfoArr[i16]; long j = hashMap4.get(fieldInfo5.name); if (j == null) { Type type4 = fieldInfo5.fieldType; str2 = str6; if (type4 == Byte.TYPE) { j = (byte) 0; } else if (type4 == Short.TYPE) { j = (short) 0; } else if (type4 == Integer.TYPE) { j = 0; } else if (type4 == Long.TYPE) { j = 0L; } else if (type4 == Float.TYPE) { j = Float.valueOf(0.0f); } else if (type4 == Double.TYPE) { j = Double.valueOf(0.0d); } else if (type4 == Boolean.TYPE) { j = Boolean.FALSE; } else if (type4 == String.class && (fieldInfo5.parserFeatures & Feature.InitStringFieldAsEmpty.mask) != 0) { j = str2; } } else { str2 = str6; } objArr2[i16] = j; i16++; str6 = str2; } objArr = objArr2; } if (this.beanInfo.creatorConstructor != null) { ?? r4 = this.beanInfo.f93kotlin; if (r4 != 0) { r4 = 0; while (true) { if (r4 >= objArr.length) { break; } else if (objArr[r4] != null || this.beanInfo.fields == null || r4 >= this.beanInfo.fields.length) { r4++; } else { r4 = this.beanInfo.fields[r4].fieldClass; if (r4 == String.class) { z4 = true; obj5 = r4; } } } if (z4) { try { if (this.beanInfo.kotlinDefaultConstructor != null) { obj5 = this.beanInfo.kotlinDefaultConstructor.newInstance(new Object[0]); for (int i17 = 0; i17 < objArr.length; i17++) { try { Object obj7 = objArr[i17]; if (!(obj7 == null || this.beanInfo.fields == null || i17 >= this.beanInfo.fields.length)) { this.beanInfo.fields[i17].set(obj5, obj7); } } catch (Exception e) { exc = e; throw new JSONException("create instance error, " + strArr + ", " + this.beanInfo.creatorConstructor.toGenericString(), exc); } } if (strArr != null) { for (Map.Entry<String, Object> entry : hashMap4.entrySet()) { FieldDeserializer fieldDeserializer3 = getFieldDeserializer(entry.getKey()); if (fieldDeserializer3 != null) { fieldDeserializer3.setValue(obj5, entry.getValue()); } } } t = (T) obj5; } } catch (Exception e2) { exc = e2; throw new JSONException("create instance error, " + strArr + ", " + this.beanInfo.creatorConstructor.toGenericString(), exc); } catch (Throwable th22) { th = th22; t = (T) obj5; parseContext4 = parseContext6; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } obj5 = this.beanInfo.creatorConstructor.newInstance(objArr); if (strArr != null) { } t = (T) obj5; } z4 = false; obj5 = r4; if (z4) { } obj5 = this.beanInfo.creatorConstructor.newInstance(objArr); if (strArr != null) { } t = (T) obj5; } else if (this.beanInfo.factoryMethod != null) { try { t = (T) this.beanInfo.factoryMethod.invoke(null, objArr); } catch (Exception e3) { throw new JSONException("create factory method error, " + this.beanInfo.factoryMethod.toString(), e3); } } if (parseContext6 != null) { parseContext6.object = t; } } catch (Throwable th23) { th4 = th23; th = th4; parseContext4 = parseContext6; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } Method method = this.beanInfo.buildMethod; if (method == null) { if (parseContext6 != null) { parseContext6.object = t; } defaultJSONParser.setContext(parseContext); return (T) t; } try { T t7 = (T) method.invoke(t, new Object[0]); if (parseContext6 != null) { parseContext6.object = t; } defaultJSONParser.setContext(parseContext); return t7; } catch (Exception e4) { throw new JSONException("build object error", e4); } } catch (Throwable th24) { th2 = th24; parseContext = parseContext5; t = obj2; th = th2; if (parseContext4 != null) { } defaultJSONParser.setContext(parseContext); throw th; } } else if (jSONLexerBase.isBlankInput()) { defaultJSONParser.setContext(parseContext5); return null; } else { if (i7 == 4) { String stringVal3 = jSONLexerBase.stringVal(); if (stringVal3.length() == 0) { jSONLexerBase.nextToken(); defaultJSONParser.setContext(parseContext5); return null; } else if (this.beanInfo.jsonType != null) { Class<?>[] seeAlso2 = this.beanInfo.jsonType.seeAlso(); for (Class<?> cls8 : seeAlso2) { if (Enum.class.isAssignableFrom(cls8)) { try { T t8 = (T) Enum.valueOf(cls8, stringVal3); defaultJSONParser.setContext(parseContext5); return t8; } catch (IllegalArgumentException unused) { continue; } } } } } if (i7 == 14 && jSONLexerBase.getCurrent() == ']') { jSONLexerBase.next(); jSONLexerBase.nextToken(); defaultJSONParser.setContext(parseContext5); return null; } if (this.beanInfo.factoryMethod != null && this.beanInfo.fields.length == 1) { try { FieldInfo fieldInfo6 = this.beanInfo.fields[0]; if (fieldInfo6.fieldClass == Integer.class) { if (i7 == 2) { int intValue = jSONLexerBase.intValue(); jSONLexerBase.nextToken(); T t9 = (T) createFactoryInstance(config, Integer.valueOf(intValue)); defaultJSONParser.setContext(parseContext5); return t9; } } else if (fieldInfo6.fieldClass == String.class && i7 == 4) { String stringVal4 = jSONLexerBase.stringVal(); jSONLexerBase.nextToken(); T t10 = (T) createFactoryInstance(config, stringVal4); defaultJSONParser.setContext(parseContext5); return t10; } } catch (Exception e5) { throw new JSONException(e5.getMessage(), e5); } } StringBuilder sb2 = new StringBuilder(); sb2.append("syntax error, expect {, actual "); sb2.append(jSONLexerBase.tokenName()); sb2.append(", pos "); sb2.append(jSONLexerBase.pos()); if (obj instanceof String) { sb2.append(", fieldName "); sb2.append(obj); } sb2.append(", fastjson-version "); sb2.append(JSON.VERSION); throw new JSONException(sb2.toString()); } } } /* access modifiers changed from: protected */ public Enum scanEnum(JSONLexerBase jSONLexerBase, char[] cArr, ObjectDeserializer objectDeserializer) { EnumDeserializer enumDeserializer = objectDeserializer instanceof EnumDeserializer ? (EnumDeserializer) objectDeserializer : null; if (enumDeserializer == null) { jSONLexerBase.matchStat = -1; return null; } long scanEnumSymbol = jSONLexerBase.scanEnumSymbol(cArr); if (jSONLexerBase.matchStat <= 0) { return null; } Enum enumByHashCode = enumDeserializer.getEnumByHashCode(scanEnumSymbol); if (enumByHashCode == null) { if (scanEnumSymbol == -3750763034362895579L) { return null; } if (jSONLexerBase.isEnabled(Feature.ErrorOnEnumNotMatch)) { throw new JSONException("not match enum value, " + enumDeserializer.enumClass); } } return enumByHashCode; } public boolean parseField(DefaultJSONParser defaultJSONParser, String str, Object obj, Type type, Map<String, Object> map) { return parseField(defaultJSONParser, str, obj, type, map, null); } /* JADX DEBUG: Multi-variable search result rejected for r5v3, resolved type: com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer */ /* JADX WARN: Multi-variable type inference failed */ /* JADX WARN: Type inference failed for: r17v0, types: [int, boolean] */ /* JADX WARN: Type inference failed for: r17v1 */ /* JADX WARN: Type inference failed for: r17v3 */ /* JADX WARN: Type inference failed for: r17v4 */ /* JADX WARNING: Removed duplicated region for block: B:106:0x0212 */ /* JADX WARNING: Removed duplicated region for block: B:53:0x0125 */ /* JADX WARNING: Unknown variable types count: 1 */ public boolean parseField(DefaultJSONParser defaultJSONParser, String str, Object obj, Type type, Map<String, Object> map, int[] iArr) { FieldDeserializer fieldDeserializer; ?? r17; JSONLexer jSONLexer; FieldDeserializer fieldDeserializer2; FieldDeserializer fieldDeserializer3; Field[] fieldArr; FieldDeserializer fieldDeserializer4; JSONLexer jSONLexer2 = defaultJSONParser.lexer; int i = Feature.DisableFieldSmartMatch.mask; int i2 = Feature.InitStringFieldAsEmpty.mask; if (jSONLexer2.isEnabled(i) || (i & this.beanInfo.parserFeatures) != 0) { fieldDeserializer = getFieldDeserializer(str); } else if (jSONLexer2.isEnabled(i2) || (this.beanInfo.parserFeatures & i2) != 0) { fieldDeserializer = smartMatch(str); } else { fieldDeserializer = smartMatch(str, iArr); } int i3 = Feature.SupportNonPublicField.mask; if (fieldDeserializer != null || (!jSONLexer2.isEnabled(i3) && (i3 & this.beanInfo.parserFeatures) == 0)) { fieldDeserializer3 = fieldDeserializer; } else { if (this.extraFieldDeserializers == null) { ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap(1, 0.75f, 1); Class<?> cls = this.clazz; while (cls != null && cls != Object.class) { Field[] declaredFields = cls.getDeclaredFields(); int length = declaredFields.length; int i4 = 0; while (i4 < length) { Field field = declaredFields[i4]; String name = field.getName(); if (getFieldDeserializer(name) == null) { int modifiers = field.getModifiers(); if ((modifiers & 16) == 0 && (modifiers & 8) == 0) { fieldDeserializer4 = fieldDeserializer; JSONField jSONField = (JSONField) TypeUtils.getAnnotation(field, JSONField.class); if (jSONField != null) { String name2 = jSONField.name(); fieldArr = declaredFields; if (!"".equals(name2)) { name = name2; } } else { fieldArr = declaredFields; } concurrentHashMap.put(name, field); i4++; fieldDeserializer = fieldDeserializer4; declaredFields = fieldArr; } } fieldDeserializer4 = fieldDeserializer; fieldArr = declaredFields; i4++; fieldDeserializer = fieldDeserializer4; declaredFields = fieldArr; } cls = cls.getSuperclass(); } fieldDeserializer3 = fieldDeserializer; this.extraFieldDeserializers = concurrentHashMap; } else { fieldDeserializer3 = fieldDeserializer; } Object obj2 = this.extraFieldDeserializers.get(str); if (obj2 != null) { if (obj2 instanceof FieldDeserializer) { fieldDeserializer2 = (FieldDeserializer) obj2; jSONLexer = jSONLexer2; r17 = 1; } else { Field field2 = (Field) obj2; field2.setAccessible(true); r17 = 1; jSONLexer = jSONLexer2; fieldDeserializer2 = new DefaultFieldDeserializer(defaultJSONParser.getConfig(), this.clazz, new FieldInfo(str, field2.getDeclaringClass(), field2.getType(), field2.getGenericType(), field2, 0, 0, 0)); this.extraFieldDeserializers.put(str, fieldDeserializer2); } if (fieldDeserializer2 == null) { int i5 = 0; while (true) { FieldDeserializer[] fieldDeserializerArr = this.sortedFieldDeserializers; if (i5 >= fieldDeserializerArr.length) { i5 = -1; break; } else if (fieldDeserializerArr[i5] == fieldDeserializer2) { break; } else { i5++; } } if (i5 == -1 || iArr == null || !str.startsWith("_") || !isSetFlag(i5, iArr)) { jSONLexer.nextTokenWithColon(fieldDeserializer2.getFastMatchToken()); fieldDeserializer2.parseField(defaultJSONParser, obj, type, map); if (iArr != null) { int i6 = i5 / 32; int i7 = iArr[i6]; int i8 = r17 == true ? 1 : 0; int i9 = r17 == true ? 1 : 0; int i10 = r17 == true ? 1 : 0; int i11 = r17 == true ? 1 : 0; iArr[i6] = i7 | (i8 << (i5 % 32)); } return r17; } defaultJSONParser.parseExtra(obj, str); return false; } else if (jSONLexer.isEnabled(Feature.IgnoreNotMatch)) { int i12 = 0; int i13 = -1; while (true) { FieldDeserializer[] fieldDeserializerArr2 = this.sortedFieldDeserializers; if (i12 >= fieldDeserializerArr2.length) { break; } FieldDeserializer fieldDeserializer5 = fieldDeserializerArr2[i12]; FieldInfo fieldInfo = fieldDeserializer5.fieldInfo; if (fieldInfo.unwrapped && (fieldDeserializer5 instanceof DefaultFieldDeserializer)) { if (fieldInfo.field != null) { DefaultFieldDeserializer defaultFieldDeserializer = (DefaultFieldDeserializer) fieldDeserializer5; ObjectDeserializer fieldValueDeserilizer = defaultFieldDeserializer.getFieldValueDeserilizer(defaultJSONParser.getConfig()); if (fieldValueDeserilizer instanceof JavaBeanDeserializer) { FieldDeserializer fieldDeserializer6 = ((JavaBeanDeserializer) fieldValueDeserilizer).getFieldDeserializer(str); if (fieldDeserializer6 != null) { try { Object obj3 = fieldInfo.field.get(obj); if (obj3 == null) { obj3 = ((JavaBeanDeserializer) fieldValueDeserilizer).createInstance(defaultJSONParser, fieldInfo.fieldType); fieldDeserializer5.setValue(obj, obj3); } jSONLexer.nextTokenWithColon(defaultFieldDeserializer.getFastMatchToken()); fieldDeserializer6.parseField(defaultJSONParser, obj3, type, map); } catch (Exception e) { throw new JSONException("parse unwrapped field error.", e); } } } else if (fieldValueDeserilizer instanceof MapDeserializer) { MapDeserializer mapDeserializer = (MapDeserializer) fieldValueDeserilizer; try { Map<Object, Object> map2 = (Map) fieldInfo.field.get(obj); if (map2 == null) { map2 = mapDeserializer.createMap(fieldInfo.fieldType); fieldDeserializer5.setValue(obj, map2); } jSONLexer.nextTokenWithColon(); map2.put(str, defaultJSONParser.parse(str)); } catch (Exception e2) { throw new JSONException("parse unwrapped field error.", e2); } } } else if (fieldInfo.method.getParameterTypes().length == 2) { jSONLexer.nextTokenWithColon(); Object parse = defaultJSONParser.parse(str); try { Method method = fieldInfo.method; Object[] objArr = new Object[2]; objArr[0] = str; char c = r17 == true ? 1 : 0; char c2 = r17 == true ? 1 : 0; char c3 = r17 == true ? 1 : 0; char c4 = r17 == true ? 1 : 0; objArr[c] = parse; method.invoke(obj, objArr); } catch (Exception e3) { throw new JSONException("parse unwrapped field error.", e3); } } i13 = i12; } i12++; } if (i13 != -1) { if (iArr != null) { int i14 = i13 / 32; iArr[i14] = iArr[i14] | (r17 << (i13 % 32)); } return r17; } defaultJSONParser.parseExtra(obj, str); return false; } else { throw new JSONException("setter not found, class " + this.clazz.getName() + ", property " + str); } } } jSONLexer = jSONLexer2; r17 = 1; fieldDeserializer2 = fieldDeserializer3; if (fieldDeserializer2 == null) { } } public FieldDeserializer smartMatch(String str) { return smartMatch(str, null); } public FieldDeserializer smartMatch(String str, int[] iArr) { boolean z; if (str == null) { return null; } FieldDeserializer fieldDeserializer = getFieldDeserializer(str, iArr); if (fieldDeserializer == null) { int i = 0; if (this.smartMatchHashArray == null) { long[] jArr = new long[this.sortedFieldDeserializers.length]; int i2 = 0; while (true) { FieldDeserializer[] fieldDeserializerArr = this.sortedFieldDeserializers; if (i2 >= fieldDeserializerArr.length) { break; } jArr[i2] = fieldDeserializerArr[i2].fieldInfo.nameHashCode; i2++; } Arrays.sort(jArr); this.smartMatchHashArray = jArr; } int binarySearch = Arrays.binarySearch(this.smartMatchHashArray, TypeUtils.fnv1a_64_lower(str)); if (binarySearch < 0) { binarySearch = Arrays.binarySearch(this.smartMatchHashArray, TypeUtils.fnv1a_64_extract(str)); } if (binarySearch < 0) { z = str.startsWith(am.ae); if (z) { binarySearch = Arrays.binarySearch(this.smartMatchHashArray, TypeUtils.fnv1a_64_extract(str.substring(2))); } } else { z = false; } if (binarySearch >= 0) { if (this.smartMatchHashArrayMapping == null) { short[] sArr = new short[this.smartMatchHashArray.length]; Arrays.fill(sArr, (short) -1); while (true) { FieldDeserializer[] fieldDeserializerArr2 = this.sortedFieldDeserializers; if (i >= fieldDeserializerArr2.length) { break; } int binarySearch2 = Arrays.binarySearch(this.smartMatchHashArray, fieldDeserializerArr2[i].fieldInfo.nameHashCode); if (binarySearch2 >= 0) { sArr[binarySearch2] = (short) i; } i++; } this.smartMatchHashArrayMapping = sArr; } short s = this.smartMatchHashArrayMapping[binarySearch]; if (s != -1 && !isSetFlag(s, iArr)) { fieldDeserializer = this.sortedFieldDeserializers[s]; } } if (fieldDeserializer != null) { FieldInfo fieldInfo = fieldDeserializer.fieldInfo; if ((fieldInfo.parserFeatures & Feature.DisableFieldSmartMatch.mask) != 0) { return null; } Class<?> cls = fieldInfo.fieldClass; if (!(!z || cls == Boolean.TYPE || cls == Boolean.class)) { return null; } } } return fieldDeserializer; } private Object createFactoryInstance(ParserConfig parserConfig, Object obj) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { return this.beanInfo.factoryMethod.invoke(null, obj); } public Object createInstance(Map<String, Object> map, ParserConfig parserConfig) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { boolean z; Integer num; Object obj; double d; float f; if (this.beanInfo.creatorConstructor == null && this.beanInfo.factoryMethod == null) { Object createInstance = createInstance((DefaultJSONParser) null, this.clazz); for (Map.Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); FieldDeserializer smartMatch = smartMatch(entry.getKey()); if (smartMatch != null) { FieldInfo fieldInfo = smartMatch.fieldInfo; Field field = smartMatch.fieldInfo.field; Type type = fieldInfo.fieldType; Class<?> cls = fieldInfo.fieldClass; JSONField annotation = fieldInfo.getAnnotation(); if (fieldInfo.declaringClass == null || (cls.isInstance(value) && (annotation == null || annotation.deserializeUsing() == Void.class))) { if (field != null && fieldInfo.method == null) { Class<?> type2 = field.getType(); if (type2 == Boolean.TYPE) { if (value == Boolean.FALSE) { field.setBoolean(createInstance, false); } else if (value == Boolean.TRUE) { field.setBoolean(createInstance, true); } } else if (type2 == Integer.TYPE) { if (value instanceof Number) { field.setInt(createInstance, ((Number) value).intValue()); } } else if (type2 == Long.TYPE) { if (value instanceof Number) { field.setLong(createInstance, ((Number) value).longValue()); } } else if (type2 == Float.TYPE) { if (value instanceof Number) { field.setFloat(createInstance, ((Number) value).floatValue()); } else if (value instanceof String) { String str = (String) value; if (str.length() <= 10) { f = TypeUtils.parseFloat(str); } else { f = Float.parseFloat(str); } field.setFloat(createInstance, f); } } else if (type2 == Double.TYPE) { if (value instanceof Number) { field.setDouble(createInstance, ((Number) value).doubleValue()); } else if (value instanceof String) { String str2 = (String) value; if (str2.length() <= 10) { d = TypeUtils.parseDouble(str2); } else { d = Double.parseDouble(str2); } field.setDouble(createInstance, d); } } else if (value != null && type == value.getClass()) { field.set(createInstance, value); } } String str3 = fieldInfo.format; if (str3 != null && type == Date.class) { obj = TypeUtils.castToDate(value, str3); } else if (str3 != null && (type instanceof Class) && ((Class) type).getName().equals("java.time.LocalDateTime")) { obj = Jdk8DateCodec.castToLocalDateTime(value, str3); } else if (type instanceof ParameterizedType) { obj = TypeUtils.cast(value, (ParameterizedType) type, parserConfig); } else { obj = TypeUtils.cast(value, type, parserConfig); } smartMatch.setValue(createInstance, obj); } else { smartMatch.parseField(new DefaultJSONParser(JSON.toJSONString(value)), createInstance, type, null); } } } if (this.beanInfo.buildMethod == null) { return createInstance; } try { return this.beanInfo.buildMethod.invoke(createInstance, new Object[0]); } catch (Exception e) { throw new JSONException("build object error", e); } } else { FieldInfo[] fieldInfoArr = this.beanInfo.fields; int length = fieldInfoArr.length; Object[] objArr = new Object[length]; HashMap hashMap = null; for (int i = 0; i < length; i++) { FieldInfo fieldInfo2 = fieldInfoArr[i]; boolean z2 = map.get(fieldInfo2.name); if (z2 == null) { Class<?> cls2 = fieldInfo2.fieldClass; if (cls2 == Integer.TYPE) { z2 = 0; } else if (cls2 == Long.TYPE) { z2 = 0L; } else if (cls2 == Short.TYPE) { z2 = (short) 0; } else if (cls2 == Byte.TYPE) { z2 = (byte) 0; } else if (cls2 == Float.TYPE) { z2 = Float.valueOf(0.0f); } else if (cls2 == Double.TYPE) { z2 = Double.valueOf(0.0d); } else if (cls2 == Character.TYPE) { z2 = '0'; } else if (cls2 == Boolean.TYPE) { z2 = false; } if (hashMap == null) { hashMap = new HashMap(); } hashMap.put(fieldInfo2.name, Integer.valueOf(i)); } objArr[i] = z2; } if (hashMap != null) { for (Map.Entry<String, Object> entry2 : map.entrySet()) { Object value2 = entry2.getValue(); FieldDeserializer smartMatch2 = smartMatch(entry2.getKey()); if (!(smartMatch2 == null || (num = (Integer) hashMap.get(smartMatch2.fieldInfo.name)) == null)) { objArr[num.intValue()] = value2; } } } if (this.beanInfo.creatorConstructor != null) { if (this.beanInfo.f93kotlin) { z = false; for (int i2 = 0; i2 < length; i2++) { Object obj2 = objArr[i2]; if (obj2 == null) { if (this.beanInfo.fields != null && i2 < this.beanInfo.fields.length && this.beanInfo.fields[i2].fieldClass == String.class) { z = true; } } else if (obj2.getClass() != this.beanInfo.fields[i2].fieldClass) { objArr[i2] = TypeUtils.cast(obj2, (Class) this.beanInfo.fields[i2].fieldClass, parserConfig); } } } else { z = false; } if (!z || this.beanInfo.kotlinDefaultConstructor == null) { try { return this.beanInfo.creatorConstructor.newInstance(objArr); } catch (Exception e2) { throw new JSONException("create instance error, " + this.beanInfo.creatorConstructor.toGenericString(), e2); } } else { try { Object newInstance = this.beanInfo.kotlinDefaultConstructor.newInstance(new Object[0]); for (int i3 = 0; i3 < length; i3++) { Object obj3 = objArr[i3]; if (!(obj3 == null || this.beanInfo.fields == null || i3 >= this.beanInfo.fields.length)) { this.beanInfo.fields[i3].set(newInstance, obj3); } } return newInstance; } catch (Exception e3) { throw new JSONException("create instance error, " + this.beanInfo.creatorConstructor.toGenericString(), e3); } } } else if (this.beanInfo.factoryMethod == null) { return null; } else { try { return this.beanInfo.factoryMethod.invoke(null, objArr); } catch (Exception e4) { throw new JSONException("create factory method error, " + this.beanInfo.factoryMethod.toString(), e4); } } } } public Type getFieldType(int i) { return this.sortedFieldDeserializers[i].fieldInfo.fieldType; } /* access modifiers changed from: protected */ public Object parseRest(DefaultJSONParser defaultJSONParser, Type type, Object obj, Object obj2, int i) { return parseRest(defaultJSONParser, type, obj, obj2, i, new int[0]); } /* access modifiers changed from: protected */ public Object parseRest(DefaultJSONParser defaultJSONParser, Type type, Object obj, Object obj2, int i, int[] iArr) { return deserialze(defaultJSONParser, type, obj, obj2, i, iArr); } protected static JavaBeanDeserializer getSeeAlso(ParserConfig parserConfig, JavaBeanInfo javaBeanInfo, String str) { if (javaBeanInfo.jsonType == null) { return null; } for (Class<?> cls : javaBeanInfo.jsonType.seeAlso()) { ObjectDeserializer deserializer = parserConfig.getDeserializer(cls); if (deserializer instanceof JavaBeanDeserializer) { JavaBeanDeserializer javaBeanDeserializer = (JavaBeanDeserializer) deserializer; JavaBeanInfo javaBeanInfo2 = javaBeanDeserializer.beanInfo; if (javaBeanInfo2.typeName.equals(str)) { return javaBeanDeserializer; } JavaBeanDeserializer seeAlso = getSeeAlso(parserConfig, javaBeanInfo2, str); if (seeAlso != null) { return seeAlso; } } } return null; } protected static void parseArray(Collection collection, ObjectDeserializer objectDeserializer, DefaultJSONParser defaultJSONParser, Type type, Object obj) { JSONLexerBase jSONLexerBase = (JSONLexerBase) defaultJSONParser.lexer; int i = jSONLexerBase.token(); if (i == 8) { jSONLexerBase.nextToken(16); jSONLexerBase.token(); return; } if (i != 14) { defaultJSONParser.throwException(i); } if (jSONLexerBase.getCurrent() == '[') { jSONLexerBase.next(); jSONLexerBase.setToken(14); } else { jSONLexerBase.nextToken(14); } if (jSONLexerBase.token() == 15) { jSONLexerBase.nextToken(); return; } int i2 = 0; while (true) { collection.add(objectDeserializer.deserialze(defaultJSONParser, type, Integer.valueOf(i2))); i2++; if (jSONLexerBase.token() != 16) { break; } else if (jSONLexerBase.getCurrent() == '[') { jSONLexerBase.next(); jSONLexerBase.setToken(14); } else { jSONLexerBase.nextToken(14); } } int i3 = jSONLexerBase.token(); if (i3 != 15) { defaultJSONParser.throwException(i3); } if (jSONLexerBase.getCurrent() == ',') { jSONLexerBase.next(); jSONLexerBase.setToken(16); return; } jSONLexerBase.nextToken(16); } }