Over the past years iv’e reported a few compiler issues
Here’s the current list of open issues I’ve reported
55502 adding a constant to a class cant use an expression while one in code can
56376 compiler misidentifies syntax error on shared factory in super class
56378 factory pattern cant be implemented properly in Xojo esp when items are in a namespace
56765 compiler weird error message seems to be linked to wrong order of evaluation
57500 debugging a while loop in debugger appears to skip entire loop
58900 compiler incorrectly identifies unused local variables
59004 endexception constructor should probably be restricted in some fashion
59061 compiler gives a very ambiguous error message on select case statement
61901 compiler reports completely bogus error
61949 xojo does not warn of conversion on assignment
63438 compiler gets comparison confused with assignment
56264 make it so when a method returns an array you can immediately index into the return result
56272 optional parameters can only be “right most” parameters
60207 command line arguments for debug run cannot use a #constant
And there two I would love to see Xojo fix as its impossible for the usage to be ambiguous
56375 compiler incorrectly identifies “global” as syntax error
In something like an enumeration its impossible for the tokens for Global, Protected, Private and Public to be ambiguous.
An enumeration is written as
Enum myenumeration
value
value
End Enum
And even if the Enum is scoped as private its , at worst, written as.
Private Enum myenumeration
value
value
End Enum
It would be simiar for Public, Private and Global. No one of those value lines can be mistaken for the scope of anything else.
56411 compiler misidentifies “attributes” as syntax error in spots where it cannot be ambiguous
Attributes is handled similarly to the above case for scope. And has the same impossible to be ambiguous situation.
Both of these cases are most definitely fixable but so far Xojo has declined to do so.
Out of my list iof just compiler bugs
– 1 has been fixed
– 2 closed as By Design (noted above)
– 1 closed as Not Reproducible (and I have no idea how to reproduce it either)
– 11 are Reproducible
– 3 feature requests Reviewed
Impressive list.
My favorites include 136 compiler cases in various stages.
I made a new one:
63490 – Have compiler not call RuntimeStringCompare for “” comparison
To ask for comparison to “” be done like comparison to nil without calling RuntimeStringCompare function.