private boolean allowed(@NotNull PsiElement element, boolean assertionsDisabled) {
    if (myDfType instanceof DfConstantType<?> dfConstantType && element instanceof PsiLiteralValue) {
      Object constValue = dfConstantType.getValue();
      if (!(constValue instanceof PsiElement)) {
        PsiPrimitiveType targetType = dfConstantType instanceof DfPrimitiveType ? ((DfPrimitiveType)dfConstantType).getPsiType() : null;
        Object literalValue = ((PsiLiteralValue)element).getValue();
        Object value = targetType == null ? literalValue : TypeConversionUtil.computeCastTo(literalValue, targetType);
        return Objects.equals(value, constValue);
      }
    }
    DfType dfType = getElementDfType(element, assertionsDisabled);
    return dfType.meet(myDfType) != DfType.BOTTOM;
  }
private boolean allowed(@NotNull PsiElement element, boolean assertionsDisabled)