 		
 		private static const _statementsWithoutParams:Array = [
 			ST_ELSE, ST_DO, ST_BREAK, ST_CONTINUE, ST_CASE, ST_DEFAULT,
-			ST_TRY, ST_FINALLY, ST_VAR, ST_RETURN, ST_THROW
+			ST_TRY, ST_FINALLY, ST_RETURN, ST_THROW, ST_VAR
 		];
 		private static const _statementsWithParams:Array = [
-			ST_IF, ST_FOR, ST_FOR_EACH, ST_WHILE, ST_SWITCH, ST_CATCH
+			ST_IF, ST_FOR, ST_EACH, ST_FOR_EACH, ST_WHILE, ST_SWITCH, ST_CATCH
 		];
 		
 		/**

		{
			var tokens:Array = getTokens(expression);
			//trace("source:", expression, "tokens:" + tokens.join(' '));
			var compiledObject:ICompiledObject = optimize(compileTokens(tokens, true));
			return compileObjectToFunction(compiledObject, symbolTable, ignoreRuntimeErrors, useThisScope, paramNames, paramDefaults);
		}
		

				{
					if (debug)
						trace('optimized unnecessary wrapper function call:',decompileObject(compiledObject));
					return _finalize(params[0], varLookup);
				}
			}
			
