DfType (@Nullable DfaVariableValue qualifier) { if (qualifier == null) return DfType.TOP; TypeConstraint qualifierType = TypeConstraint.fromDfType(qualifier.getDfType()); String type = null; if (qualifierType.isExact(OptionalUtil.OPTIONAL_INT)) { type = JAVA_LANG_INTEGER; } else if (qualifierType.isExact(OptionalUtil.OPTIONAL_LONG)) { type = JAVA_LANG_LONG; } else if (qualifierType.isExact(OptionalUtil.OPTIONAL_DOUBLE)) { type = JAVA_LANG_DOUBLE; } if (type != null) { return DfTypes.typedObject(JavaPsiFacade.getElementFactory(qualifier.getFactory().getProject()) .createTypeFromText(type, null), Nullability.UNKNOWN); } return DfTypes.OBJECT_OR_NULL; }