Strict Symbol Comparison with variables
This is the scenario where two expressions are compared:
varA = varB.
aParameter = varC.
myVar with message send = varD.
As with comparison with literals, we'll take one of two approaches:
In this case the equality can be left unchanged, and we add an assertion to check the assumption, e.g.:
method1: param1
self assertSameTypeWhenStrict: param1 and: myInstVar.
^ myInstVar = param1
As with the literal comparison, Pharo behaviour is desired, even if strict symbol comparison is enabled. The equality check is then replaced with #sameContentAs:
:
method1: param1
^ myInstVar sameContentAs: param1