Fixed type sorter to not compare with itself as an inherited type.
Makes VCall removal a bit more aggressive and hopefully correct. The VirtualCallTest02 works with fully removing all virtual calls correctly.
Added a bit more fixes.
Added basic "Runtime Features" code, so that each feature such as IsInstance, Boxing and even String Support should only be part of the final source code, if they are used...
Fix for NewSlot
Add the  DeleteUnusedNewObject optimization.
Add the  DeleteUnusedNewObject optimization.
Merge branch 'bleeding_edge' of https://github.com/ciplogic/CodeRefractor into bleeding_edge
BoxingTest now works, String.Format can now be added.
Use better code pattern for calling using escaping
Added better virtual code generation method handling.
Merge branch 'runtime' of https://github.com/ciplogic/CodeRefractor into bleeding_edge
Make ClrType code to be not exposed as a get/set property. This is the first (small) step to improve serialization of IR.
Make TypeDescription to expose less ClrType. In future will be possible that TypeDescription will be built from internal's data and ClosureEntities.
Using opcodes to make sure we never mistype the strings
Make ClrType code to be not exposed as a get/set property. This is the first (small) step to improve serialization of IR.
Make TypeDescription to expose less ClrType. In future will be possible that TypeDescription will be built from internal's data and ClosureEntities.
Using opcodes to make sure we never mistype the strings
Fixed merge issues
Add RemoveNotReachableMethos optimization. Will remove mostly methods that were removed from optimization steps: devirtualization or dead code elimination. Very important for big programs.