polyethene/IronAHK — Issue #43: Expressions of the form (A and *(b)) parse incorrectly
Author: madewokherd
Created: 2012-02-17 22:19:06+00:00
State: open

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