Paste the following as oxygene, and nothing happens.
BOOL topLeft = (column > 0) && (row < NumRows) && [self.level tileAtColumn:column - 1 row:row];
It should be something like
var topLeft:Boolean := ((column>0) and (row < NumRows) and assigned(self.level.tileAtColumn(column - 1 ,row)));