public void relateAcrossR689To(Value_c target, boolean notifyChanges) { if (target == null) return; if (target == WritesValue) return; // already related if (WritesValue != target) { Object oldKey = getInstanceKey(); if (WritesValue != null) { WritesValue.clearBackPointerR689To(this); if (Boolean.valueOf(System.getenv("PTC_MCC_ENABLED")) == true) { // $NON-NLS-1$ Ooaofooa.log.println( ILogger.CONSISTENCY, "AssignToMember_c.relateAcrossR689To(Value_c target)", "Relate performed across R689 from Assign to Member to Value without unrelate of prior instance."); } } WritesValue = target; m_l_value_id = target.getValue_id(); updateInstanceKey(oldKey, getInstanceKey()); target.setBackPointerR689To(this); target.addRef(); } }
public void unrelateAcrossR689From(Value_c target, boolean notifyChanges) { if (target == null) return; if (WritesValue == null) return; // already unrelated if (target != WritesValue) { Exception e = new Exception(); e.fillInStackTrace(); CorePlugin.logError("Tried to unrelate from non-related instance across R689", e); return; } if (target != null) { target.clearBackPointerR689To(this); } if (WritesValue != null) { m_l_value_id = WritesValue.getValue_id(); WritesValue = null; target.removeRef(); } }