DfType (@NotNull DfaVariableValue thisValue, @Nullable PsiElement context) { DfType dfType = getDfType(thisValue.getQualifier()); PsiModifierListOwner psi = ObjectUtils.tryCast(getPsiElement(), PsiModifierListOwner.class); if (psi == null) return dfType; if (dfType instanceof DfIntegralType) { return ((DfIntegralType)dfType).meetRange(JvmPsiRangeSetUtil.fromPsiElement(psi)); } if (dfType instanceof DfReferenceType) { dfType = dfType.meet(Mutability.getMutability(psi).asDfType()); dfType = dfType.meet(calcCanBeNull(thisValue, context).asDfType()); } return dfType; }