 		{
 			var stmt:String = tokens[startIndex] as String;
 			var call:CompiledFunctionCall;
-			var i:int;
 			
 			// stop if tokens does not start with a statement
 			if (!statements.hasOwnProperty(stmt))

			// find a matching statement pattern
			nextPattern: for each (var pattern:Array in _validStatementPatterns)
			{
				for (i = 0; i < pattern.length; i++)
				{
					if (startIndex + i >= tokens.length)
						continue nextPattern;
					
					var type:String = pattern[i];
					var token:Object = tokens[startIndex + i];
					call = token as CompiledFunctionCall;
					
					if (statements.hasOwnProperty(type) && token != type)

						call.evaluateConstants();
						token = call;
					}
					originalTokens = null; // avoid infinite decompile recursion
					tokens[startIndex] = token;
				}
				else if (stmt == ST_IF) // if (cond) {stmt} else {stmt}
