 			if (isFunctionHeader(call))
 				compileFunctionDefinition(call, null); // this will throw an appropriate error
 				
-			call.compiledMethod = _finalize(call.compiledMethod, varLookup);
+			call.compiledMethod = _finalize(call.compiledMethod, forceInlineObjectConstants, varLookup);
 			if (!call.compiledMethod)
 				throw new Error("Misplaced variable declaration");
 			var params:Array = call.compiledParams;

		/**
		 * 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.
		 * @return A finialized/optimized version of compiledObject.
		 */
		private function finalize(compiledObject:ICompiledObject):ICompiledObject
		{
			var varLookup:Object = {};
			
			var final:ICompiledObject = _finalize(compiledObject, varLookup);
			if (!final)
				return compiledObject;
			

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