Strict Symbol Comparison logging offline
One of the early ways of identifying all the places in GT that will need to be modified is to run all automated tests and log every instance of a mismatched comparison.
logFile := '/path/to/log.ston' asFileReference.
Log comparisons during a test run
To Be Supplied.
Load comparisons from a log file
Load a log file generated in the previous section:
utility := GtStrictSymbolInstallation new loadEqualityStatsFromFile: logFile.
Refactor equality calls based on the log file
This will replace all mismatched instances of #=
with #sameContentAs:
:
utility refactorEqualityCalls
Refactor references to collections
This will replace most instance creation of Dictionary
, Set
and WeakSet
with their string content equivalents.
This is generally not recommended due to the large number of changes that are made, many of which are probably better handled using one of the other techniques.
utility refactorDictionaryReferences; refactorSetReferences; refactorWeakSetReferences.