{"id":1056,"date":"2021-01-27T15:38:00","date_gmt":"2021-01-27T22:38:00","guid":{"rendered":"https:\/\/www.great-white-software.com\/blog\/?p=1056"},"modified":"2021-01-25T19:42:45","modified_gmt":"2021-01-26T02:42:45","slug":"compiler-issues-ive-reported","status":"publish","type":"post","link":"https:\/\/www.great-white-software.com\/blog\/2021\/01\/27\/compiler-issues-ive-reported\/","title":{"rendered":"Compiler issues I&#8217;ve reported"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Over the past years iv&#8217;e reported a few compiler issues<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s the current list of open issues I&#8217;ve reported<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>55502<\/strong> adding a constant to a class cant use an expression while one in code can<br><strong>56376<\/strong> compiler misidentifies syntax error on shared factory in super class <br><strong>56378<\/strong> factory pattern cant be implemented properly in Xojo esp when items are in a namespace<br><strong>56765<\/strong> compiler weird error message seems to be linked to wrong order of evaluation <br><strong>57500<\/strong> debugging a while loop in debugger appears to skip entire loop <br><strong>58900<\/strong> compiler incorrectly identifies unused local variables <br><strong>59004<\/strong> endexception constructor should probably be restricted in some fashion<br><strong>59061<\/strong> compiler gives a very ambiguous error message on select case statement<br><strong>61901<\/strong> compiler reports completely bogus error <br><strong>61949<\/strong> xojo does not warn of conversion on assignment<br><strong>63438<\/strong> compiler gets comparison confused with assignment <br><strong>56264<\/strong> make it so when a method returns an array you can immediately index into the return result<br><strong>56272<\/strong> optional parameters can only be &#8220;right most&#8221; parameters <br><strong>60207<\/strong> command line arguments for debug run cannot use a #constant<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And there two I would love to see Xojo fix as its impossible for the usage to be ambiguous<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>56375<\/strong> compiler incorrectly identifies &#8220;global&#8221; as syntax error <br>In something like an enumeration its impossible for the tokens for Global, Protected, Private and Public to be ambiguous.<br>An enumeration is written as <br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Enum myenumeration\n   value\n   value\nEnd Enum   <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And even if the Enum is scoped as private its , at worst, written as. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Private Enum myenumeration\n   value\n   value\nEnd Enum  <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It would be simiar for Public, Private and Global. No one of those value lines can be mistaken for the scope of anything else.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>56411<\/strong> compiler misidentifies &#8220;attributes&#8221; as syntax error in spots where it cannot be ambiguous<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attributes is handled similarly to the above case for scope. And has the same impossible to be ambiguous situation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Both of these cases are most definitely fixable but so far Xojo has declined to do so.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Out of my list iof just compiler bugs <br>&#8211; 1 has been fixed<br>&#8211; 2 closed as By Design (noted above)<br>&#8211; 1 closed as Not Reproducible (and I have no idea how to reproduce it either)<br>&#8211; 11 are Reproducible<br>&#8211; 3 feature requests Reviewed<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the past years iv&#8217;e reported a few compiler issues Here&#8217;s the current list of open issues I&#8217;ve reported 55502 adding a constant to a class cant use an expression while one in code can56376 compiler misidentifies syntax error on shared factory in super class 56378 factory pattern cant be implemented properly in Xojo esp &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.great-white-software.com\/blog\/2021\/01\/27\/compiler-issues-ive-reported\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Compiler issues I&#8217;ve reported&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1056","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts\/1056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/comments?post=1056"}],"version-history":[{"count":4,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts\/1056\/revisions"}],"predecessor-version":[{"id":1071,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/posts\/1056\/revisions\/1071"}],"wp:attachment":[{"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/media?parent=1056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/categories?post=1056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.great-white-software.com\/blog\/wp-json\/wp\/v2\/tags?post=1056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}