package jetbrains.mps.lang.test.matcher; /*Generated by MPS */ import org.jetbrains.mps.openapi.language.SReferenceLink; import org.jetbrains.mps.openapi.model.SNode; /*package*/ class ReferenceDifference extends DifferenceItem { private final SReferenceLink myRole; private final boolean myInternal; private final SNode myTarget1; private final SNode myTarget2; public ReferenceDifference(SReferenceLink role, boolean internal, SNode target1, SNode target2) { myRole = role; myInternal = internal; myTarget1 = target1; myTarget2 = target2; } @Override public String toString() { String fmt = "Different %s reference of role %s. One target is %s, while other is %s"; return String.format(fmt, (myInternal ? "internal" : "external"), myRole.getRoleName(), myTarget1, myTarget2); } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!((obj instanceof ReferenceDifference))) { return false; } ReferenceDifference diff = (ReferenceDifference) obj; return myRole.equals(diff.myRole) && myInternal == diff.myInternal; } }