 					break;
 				if (i == 0 || i + 1 == tokens.length)
 					throw new Error("Misplaced '" + tokens[i] + "'");
-				tokens.splice(i - 1, 3, compileVariableAssignment.apply(null, tokens.slice(i - 1, i + 2)));
+				tokens.splice(i - 1, 3, compileVariableAssignment(tokens[i - 1], tokens[i], tokens[i + 1]));
 			}
 			
 			// next step: commas

	
	import weave.utils.fixErrorMessage;
	
	/**
	 * This class can compile simple ActionScript expressions into functions.
	 * 

						}
						else if (call.evaluatedHost is Proxy)
						{
							// use Proxy.callProperty
							var proxyParams:Array = call.evaluatedParams.concat();
							proxyParams.unshift(call.evaluatedMethodName);
							result = (call.evaluatedHost as Proxy).callProperty.apply(call.evaluatedHost, proxyParams);
						}
						else
						{
