private static @NotNull DfType className(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;
  }
private static @NotNull DfType className(DfaMemoryState memState,
                                           DfaValue qualifier,
                                           String name,
                                           PsiType stringType)