/// <summary> /// For the possible receiver v, check if it is nonnull. if no, file an proper /// error/warning. /// </summary> private void CheckReceiver(Statement stat, Variable v, ExposureState estate) { Node offendingNode = v; if (v == null) return; if(estate.IsNotExposed(v)) { HandleError(stat, offendingNode, Error.WritingPackedObject, v.Name.Name); //estate.AssignExposed(v); } else if(!estate.IsExposed(v)) { HandleError(stat, offendingNode, Error.WritingPackedObject, v.Name.Name); //estate.AssumeNonNull(v); } }