 			{
 				for (i = 0; i < params.length; i++)
 				{
-					params[i] = _finalize(params[i], varLookup);
+					params[i] = _finalize(params[i], forceInlineObjectConstants, varLookup);
 					if (params[i] == null) // variable declaration eliminated?
 						params.splice(i--, 1);
 				}

				return params[INDEX_CONDITION];
			}
			
			if (PURE_OP_LOOKUP[method as Function])
			{
				// if all parameters are constants, just evaluate the pure operator as a constant.
				for each (var param:Object in params)

		/**
		 * Call this to move all var declarations at the beginning of the code and perform optimizations on the compiled objects.
		 * @param compiledObject An ICompiledObject to finalize.
		 * @param forceInlineObjectConstants If true, forces the evaluation of inline objects to constants.
		 * @return A finialized/optimized version of compiledObject.
		 */
		private function finalize(compiledObject:ICompiledObject, forceInlineObjectConstants:Boolean = false):ICompiledObject
		{
			var varLookup:Object = {};
			
			var final:ICompiledObject = _finalize(compiledObject, forceInlineObjectConstants, varLookup);
			if (!final)
				return compiledObject;
			
