IronAHK
IronAHK copied to clipboard
Expressions of the form (A and *(b)) parse incorrectly
Given this testcase:
if ( 1 and *( 0 ) ) MsgBox, yes else MsgBox, no
the parser interprets the * as a binary multiplication operator, instead of a unary dereference. This eventually causes an exception due to the broken CodeDom tree that results:
Unhandled Exception: System.Exception: Top type can not be null at IronAHK.Scripting.MethodWriter.ConditionalBox (System.Type Top) [0x00032] in /home/meh/source/ironahk/Scripting/Compiler/Emission/EmitVars.cs:161