Open VBAndCs opened 2 years ago
@VBAndCs I am mostly retired, if you want to do the fixes will review and update. The solution to all the renaming is to do 2 passes, first building symbol table and then using it for translation.
@paul1956 I can't work on the converter now. By the way, there is a null reference bug while converting this project. Also, the converter is too slow, as it doesn't use the full processor power. In converting solutions, you should use multi threading to convert 4 or more files simultaneously, to get the most of the processor cores. This should work fine as the conversion happens after compiling the C# project and got Symantec.
@paul1956 And you should review your retiring decision, as Anthony is back and willing to do amazing things for VB .NET and needs the community help.
@VBAndCs I am monitoring Anthony's blog and am traveling 50% of the year WITHOUT internet. I found the crash and am fixing it as its trivial. Tackling the other issues require more dedicated effort then I am able to put in at this time. As for threading the app I specifically don't want more threading because at the moment I only have 1 global symbol table, if that issue was addressed the app could run with more threads.
@VBAndCs Project conversion crash is fixed in version 5.0.6.5/5.0.2.10
Try to convert this project: ToolFramework.zip
The vb project will contain about 500 errors, most of them are due 2 reasons:
The property private filed , which has the same name of the property with small casing. I issued this b4 but it is not fixed till now. The solution is to get the property names and filed names, and ckeck if any property has the same name as a filed with ignoring case cpmparison, and if so, the field must be renamed by adding an prefix. This needs tracing the field name in the scope to rename it, and be aware if any function has a param with the same name of the filed, then only Me.[Filed] should be renamed to Me.[Filed]. I also suggest to refactor full properties to auto properties if the field only appers in the standered property def. with no more code. This will iliminate the need to rename the private filed as it should be removed in this case!
The converter translate interface implementauion statement to Inherits statement. The ambiguity of the C#
:
can be solved by checking if the type is and interface or a class, then the converter should add the implements statement to each function/property matching a name of Interface members.