DfType (DfaMemoryState memState, DfaValue qualifier, String name, PsiType stringType) { PsiClassType type = memState.getDfType(qualifier).getConstantOfType(PsiClassType.class); if (type != null) { PsiClass psiClass = type.resolve(); if (psiClass != null) { String result = switch (name) { case "getSimpleName" -> psiClass instanceof PsiAnonymousClass ? "" : psiClass.getName(); case "getName" -> PsiUtil.isLocalOrAnonymousClass(psiClass) ? null : ClassUtil.getJVMClassName(psiClass); default -> psiClass.getQualifiedName(); }; return result == null && !name.equals("getCanonicalName") ? DfType.TOP : constant(result, stringType); } } return DfType.TOP; }