DfType () { if (myMutability != Mutability.UNKNOWN || myLocal || mySpecialField != null) { return null; } TypeConstraint negated = myConstraint.tryNegate(); if (negated == null) return null; DfType result = negated.asDfType(); return myNullability == DfaNullability.NOT_NULL ? result.join(DfTypes.NULL) : result.meet(DfTypes.NOT_NULL_OBJECT); }