Browse Source

Fixed code generation. Fixes #495.

Brucey 5 years ago
parent
commit
c5c233de40
1 changed files with 2 additions and 1 deletions
  1. 2 1
      parser.bmx

+ 2 - 1
parser.bmx

@@ -378,10 +378,11 @@ Type TForEachinStmt Extends TLoopStmt
 
 				End If
 '				block.stmts.AddFirst New TAssignStmt.Create( "=",New TIdentExpr.Create( varid ),New TCastExpr.Create( varty, nextObjExpr,CAST_EXPLICIT ))
+				block.stmts.AddFirst New TAssignStmt.Create( "=",varExpr,cExpr)
 				If varObjTmp Then
 					block.stmts.AddFirst varObjStmt
+					block.stmts.AddFirst New TDeclStmt.Create( varObjTmp, True )
 				End If
-				block.stmts.AddFirst New TAssignStmt.Create( "=",varExpr,cExpr)
 			EndIf
 
 			Local whileStmt:TWhileStmt=New TWhileStmt.Create( hasNextExpr,block, loopLabel, True )