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

import g.h0.c.l;
import g.i;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.lang.model.element.Element;
import javax.lang.model.util.Elements;

/* JADX INFO: compiled from: ClassParser.kt */
/* JADX INFO: loaded from: classes.dex */
@i
public final class ClassParser {
    private final Map<String, IClassWrapper> classCache = new LinkedHashMap();
    private ICommentProvider commentProvider;
    private Elements elementUtils;

    private final IClassWrapper getClassWrapper(String str) {
        IClassWrapper classWrapper;
        Utils utils = Utils.INSTANCE;
        if (utils.hasGenericParam(str)) {
            Elements elements = this.elementUtils;
            if (elements == null) {
                l.m("elementUtils");
                throw null;
            }
            Element typeElement = elements.getTypeElement(utils.getGenericClassName(str));
            l.e(typeElement, "element");
            Element element = typeElement;
            ICommentProvider iCommentProvider = this.commentProvider;
            if (iCommentProvider == null) {
                l.m("commentProvider");
                throw null;
            }
            classWrapper = new GenericClassWrapper(element, str, iCommentProvider);
        } else {
            Elements elements2 = this.elementUtils;
            if (elements2 == null) {
                l.m("elementUtils");
                throw null;
            }
            Element typeElement2 = elements2.getTypeElement(str);
            l.e(typeElement2, "element");
            Element element2 = typeElement2;
            ICommentProvider iCommentProvider2 = this.commentProvider;
            if (iCommentProvider2 == null) {
                l.m("commentProvider");
                throw null;
            }
            classWrapper = new ClassWrapper(element2, iCommentProvider2);
        }
        return classWrapper;
    }

    public final void addClass(String str, IClassWrapper iClassWrapper) {
        l.f(str, "clazz");
        l.f(iClassWrapper, "wrapper");
        this.classCache.put(str, iClassWrapper);
    }

    public final List<IFieldWrapper> getEnumValues(IClassWrapper iClassWrapper) {
        l.f(iClassWrapper, "clazz");
        if (!iClassWrapper.isEnum()) {
            throw new RuntimeException(iClassWrapper.getType() + " is not enum class");
        }
        List<IFieldWrapper> fields = iClassWrapper.getFields();
        ArrayList arrayList = new ArrayList();
        for (Object obj : fields) {
            if (l.a(((IFieldWrapper) obj).getType(), iClassWrapper.getType())) {
                arrayList.add(obj);
            }
        }
        return arrayList;
    }

    public final void init(Elements elements, ICommentProvider iCommentProvider) {
        l.f(elements, "elementUtils");
        l.f(iCommentProvider, "commentProvider");
        this.elementUtils = elements;
        this.commentProvider = iCommentProvider;
    }

    public final IClassWrapper parser(String str) {
        l.f(str, "clazz");
        IClassWrapper iClassWrapper = this.classCache.get(str);
        if (iClassWrapper != null) {
            return iClassWrapper;
        }
        Utils utils = Utils.INSTANCE;
        IClassWrapper rVar = utils.isListType(str) ? parser(utils.getTypeByList(str)) : !utils.isBuildType(str) ? getClassWrapper(str) : null;
        if (rVar != null) {
            addClass(str, rVar);
        }
        return rVar;
    }
}
