package com.ifpdos.udi.sdk.service.doc.base;

import com.ifpdos.udi.sdk.kotlin.comment.parser.CommentDetails;
import com.seewo.vcommons.constants.SeewoIntent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.lang.model.element.Element;
import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.TypeParameterElement;
import javax.lang.model.type.DeclaredType;
import javax.lang.model.type.TypeKind;
import kotlin.Metadata;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.StringsKt;
import kotlin.text.Typography;

/* JADX INFO: compiled from: ClassParser.kt */
/* JADX INFO: loaded from: classes.dex */
@Metadata(d1 = {"\u0000F\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010%\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0002\b\u0005\b\u0016\u0018\u00002\u00020\u0001B\u001d\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007¢\u0006\u0002\u0010\bJ\n\u0010\u000b\u001a\u0004\u0018\u00010\fH\u0016J\b\u0010\r\u001a\u00020\u0003H\u0016J\u0016\u0010\u000e\u001a\b\u0012\u0004\u0012\u00020\u00100\u000f2\u0006\u0010\u0011\u001a\u00020\u0012H\u0016J\u0006\u0010\u0013\u001a\u00020\u0005J\u0010\u0010\u0014\u001a\u00020\u00052\u0006\u0010\u0015\u001a\u00020\u0005H\u0002J\b\u0010\u0016\u001a\u00020\u0005H\u0016J$\u0010\u0017\u001a\u00020\u00182\f\u0010\u0019\u001a\b\u0012\u0004\u0012\u00020\u00050\u000f2\f\u0010\u001a\u001a\b\u0012\u0004\u0012\u00020\u00050\u000fH\u0002J\b\u0010\u001b\u001a\u00020\u0012H\u0016J\u0010\u0010\u001c\u001a\u00020\u00122\u0006\u0010\u0002\u001a\u00020\u0003H\u0016R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u001a\u0010\t\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00050\nX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u001d"}, d2 = {"Lcom/ifpdos/udi/sdk/service/doc/base/GenericClassWrapper;", "Lcom/ifpdos/udi/sdk/service/doc/base/IClassWrapper;", "element", "Ljavax/lang/model/element/Element;", "fullName", "", "commentProvider", "Lcom/ifpdos/udi/sdk/service/doc/base/ICommentProvider;", "(Ljavax/lang/model/element/Element;Ljava/lang/String;Lcom/ifpdos/udi/sdk/service/doc/base/ICommentProvider;)V", "genericMap", "", "getComment", "Lcom/ifpdos/udi/sdk/kotlin/comment/parser/CommentDetails;", "getElement", "getFields", "", "Lcom/ifpdos/udi/sdk/service/doc/base/IFieldWrapper;", "containHide", "", "getRawType", "getRealType", SeewoIntent.KEY_FILE_TYPE, "getType", "initRealType", "", "genericTypes", "realTypes", "isEnum", "isGenericClass", "doc-base"}, k = 1, mv = {1, 6, 0}, xi = 48)
public class GenericClassWrapper implements IClassWrapper {
    private final ICommentProvider commentProvider;
    private final Element element;
    private final String fullName;
    private final Map<String, String> genericMap;

    @Override // com.ifpdos.udi.sdk.service.doc.base.IClassWrapper
    public boolean isEnum() {
        return false;
    }

    public GenericClassWrapper(Element element, String fullName, ICommentProvider commentProvider) {
        Intrinsics.checkNotNullParameter(element, "element");
        Intrinsics.checkNotNullParameter(fullName, "fullName");
        Intrinsics.checkNotNullParameter(commentProvider, "commentProvider");
        this.element = element;
        this.fullName = fullName;
        this.commentProvider = commentProvider;
        this.genericMap = new LinkedHashMap();
        List typeParameters = ((TypeElement) element).getTypeParameters();
        Intrinsics.checkNotNullExpressionValue(typeParameters, "element as TypeElement).typeParameters");
        List list = typeParameters;
        ArrayList arrayList = new ArrayList(CollectionsKt.collectionSizeOrDefault(list, 10));
        Iterator it = list.iterator();
        while (it.hasNext()) {
            arrayList.add(((TypeParameterElement) it.next()).toString());
        }
        initRealType(arrayList, Utils.INSTANCE.getGenericParameterTypes(this.fullName));
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.IClassWrapper
    /* JADX INFO: renamed from: getType, reason: from getter */
    public String getFullName() {
        return this.fullName;
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.IClassWrapper
    public List<IFieldWrapper> getFields(boolean containHide) {
        IFieldWrapper elementFieldWrapper;
        if (Utils.INSTANCE.isMapType(this.element.asType().toString())) {
            return CollectionsKt.emptyList();
        }
        List enclosedElements = this.element.getEnclosedElements();
        Intrinsics.checkNotNullExpressionValue(enclosedElements, "element.enclosedElements");
        ArrayList arrayList = new ArrayList();
        for (Object obj : enclosedElements) {
            Element it = (Element) obj;
            if (it.getKind().isField() && !it.getModifiers().contains(Modifier.STATIC)) {
                if (!containHide) {
                    Utils utils = Utils.INSTANCE;
                    Intrinsics.checkNotNullExpressionValue(it, "it");
                    if (!utils.isHideApi(it)) {
                    }
                }
                arrayList.add(obj);
            }
        }
        ArrayList<Element> arrayList2 = arrayList;
        ArrayList arrayList3 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList2, 10));
        for (Element it2 : arrayList2) {
            Intrinsics.checkNotNullExpressionValue(it2, "it");
            if (isGenericClass(it2)) {
                elementFieldWrapper = new GenericFieldWrapper(this, it2, getRealType(it2.asType().toString()), this.commentProvider);
            } else {
                elementFieldWrapper = new ElementFieldWrapper(this, it2, this.commentProvider);
            }
            arrayList3.add(elementFieldWrapper);
        }
        return arrayList3;
    }

    public boolean isGenericClass(Element element) {
        Intrinsics.checkNotNullParameter(element, "element");
        DeclaredType declaredTypeAsType = element.asType();
        if (declaredTypeAsType.getKind() == TypeKind.TYPEVAR) {
            return true;
        }
        if (declaredTypeAsType.getKind() != TypeKind.DECLARED) {
            return false;
        }
        if (declaredTypeAsType != null) {
            TypeElement typeElementAsElement = declaredTypeAsType.asElement();
            if (!(typeElementAsElement instanceof TypeElement)) {
                return false;
            }
            Intrinsics.checkNotNullExpressionValue(typeElementAsElement.getTypeParameters(), "typeElement.typeParameters");
            return !r2.isEmpty();
        }
        throw new NullPointerException("null cannot be cast to non-null type javax.lang.model.type.DeclaredType");
    }

    public final String getRawType() {
        StringBuilder sbAppend = new StringBuilder().append(this.element).append(Typography.less);
        List typeParameters = this.element.getTypeParameters();
        Intrinsics.checkNotNullExpressionValue(typeParameters, "element as TypeElement).typeParameters");
        return sbAppend.append(CollectionsKt.joinToString$default(typeParameters, ",", null, null, 0, null, null, 62, null)).append(Typography.greater).toString();
    }

    private final void initRealType(List<String> genericTypes, List<String> realTypes) {
        int i = 0;
        for (Object obj : realTypes) {
            int i2 = i + 1;
            if (i < 0) {
                CollectionsKt.throwIndexOverflow();
            }
            this.genericMap.put(genericTypes.get(i), (String) obj);
            i = i2;
        }
    }

    private final String getRealType(String type) {
        if (this.genericMap.containsKey(type)) {
            String str = this.genericMap.get(type);
            Intrinsics.checkNotNull(str);
            return str;
        }
        String str2 = type;
        if (StringsKt.contains$default((CharSequence) str2, (CharSequence) "<", false, 2, (Object) null)) {
            int iIndexOf$default = StringsKt.indexOf$default((CharSequence) str2, "<", 0, false, 6, (Object) null) + 1;
            int iIndexOf$default2 = StringsKt.indexOf$default((CharSequence) str2, ">", 0, false, 6, (Object) null);
            CharSequence charSequenceSubSequence = type.subSequence(iIndexOf$default, iIndexOf$default2);
            if (this.genericMap.containsKey(charSequenceSubSequence)) {
                String str3 = this.genericMap.get(charSequenceSubSequence);
                Intrinsics.checkNotNull(str3);
                return StringsKt.replaceRange((CharSequence) str2, iIndexOf$default, iIndexOf$default2, (CharSequence) str3).toString();
            }
        }
        return type;
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.IClassWrapper
    public CommentDetails getComment() {
        return this.commentProvider.getComment(this);
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.IClassWrapper
    public Element getElement() {
        return this.element;
    }
}
