Tests for each visitor are now created in their each individual folder. When running the tests they are catagorized in the order: All testcases are catagorised by their testfile. This means that if in Rider catagorised view is selected the tests will be much more sorted. The catagorised sorting looks as following: Filename, Testclass, Testmethod, Testname
Restructered the folders and files to be more clean.
Restructured usage of the visitors so that their usage are more standardised to promote looser coupling.
Changes include:
Renamed Typechecker to LogicChecker and enforced master-worker pattern for the Typechecking phase, so that it can be started by just using TypeChecker.Run().
Uses a general fascade pattern for all visitors by privatising the constructor of any of the visitors. Instead they can only be used with their static Run method. This is because everything stored in the objects should only be used for one specific run. None of the visitors should ever be used for more than one analysis.
It shouldn't be Codegens concern to dispose of the filestream.
Similar for how PrettyPrint supports both writing into console and file, the TypeChecker should also allow changing the text output for the exceptions
The old TypeChecker(now named: LogicChecker) was incredibly confusing and tightly coupled with StmtLogicChecker and ExpLogicChecker. The purpose of the 3 classes was to seperate the typecheckers logic for that analysis run into more files. Doing this should use partial classes rather than inheritance as they work on the same data and doesn't make sense individually.
closes #66
Doesn't solve but does Improve #72. This issue should also be easier to work on now.
changing this line should make it much easier to start working on #70
Tests for each visitor are now created in their each individual folder. When running the tests they are catagorized in the order: All testcases are catagorised by their testfile. This means that if in Rider catagorised view is selected the tests will be much more sorted. The catagorised sorting looks as following: Filename, Testclass, Testmethod, Testname
Restructered the folders and files to be more clean.
Restructured usage of the visitors so that their usage are more standardised to promote looser coupling. Changes include:
closes #66
Doesn't solve but does Improve #72. This issue should also be easier to work on now.
changing this line should make it much easier to start working on #70