 					
 					method = call.evaluatedMethod;
 					compiledParams = call.compiledParams;
+					
 					if (compiledParams)
 					{
-						if (call.evalIndex == INDEX_METHOD)
+						if (LOOP_LOOKUP[method] && call.evalIndex == INDEX_METHOD)
 						{
-							constant = call.compiledMethod as CompiledConstant;
-							if (constant)
+							if (method == operators[ST_DO] || method == operators[ST_FOR_DO])
 							{
-								if (constant.name == ST_DO || constant.name == ST_FOR_DO)
-								{
-									// skip first evaluation of loop condition
-									call.evaluatedParams[INDEX_CONDITION] = true;
-									call.evalIndex = INDEX_TRUE;
-								}
+								// skip first evaluation of loop condition
+								call.evaluatedParams[INDEX_CONDITION] = true;
+								call.evalIndex = INDEX_TRUE;
 							}
 						}
-						
+						
 						// check which parameters should be evaluated
 						for (; call.evalIndex < compiledParams.length; call.evalIndex++)
-						{
+						{
 							//trace(StringLib.lpad('', stack.length, '\t') + "[" + call.evalIndex + "] " + compiledParams[call.evalIndex].name);
 							
 							// handle branching and short-circuiting

				if (operators[op] is Function)
					constants[OPERATOR_ESCAPE + op] = operators[op];
			
			// fill branch reverse-lookup dictionary
			BRANCH_LOOKUP[constants[OPERATOR_ESCAPE + '?:']] = true;
			BRANCH_LOOKUP[constants[OPERATOR_ESCAPE + '&&']] = true;
			BRANCH_LOOKUP[constants[OPERATOR_ESCAPE + '||']] = false;
			
			// fill assignment operator reverse-lookup dictionary
			for each (var assigOp:Function in assignmentOperators)

				var subArray:Array = tokens.splice(open + 1, close - open - 1);
				if (debug)
					trace("compiling tokens", leftBracket, subArray.join(' '), rightBracket);
				var separator:String = ',';
				if (leftBracket == '{' || (leftBracket == '(' && statements.hasOwnProperty(token) && statements[token]))
					separator = ';';
				compiledParams = compileArray(subArray, separator);

				if (leftBracket == '[') // this is either an array or a property access
