Index: /trunk/Decompiler.class.php
===================================================================
--- /trunk/Decompiler.class.php	(revision 802)
+++ /trunk/Decompiler.class.php	(revision 803)
@@ -609,9 +609,9 @@
 	}
 	// }}}
-	function getOpVal($op, &$EX, $tostr = true, $free = false) // {{{
+	function getOpVal($op, &$EX, $free = false) // {{{
 	{
 		switch ($op['op_type']) {
 		case XC_IS_CONST:
-			return foldToCode(value($op['constant']), $EX);
+			return value($op['constant']);
 
 		case XC_IS_VAR:
@@ -619,7 +619,4 @@
 			$T = &$EX['Ts'];
 			$ret = $T[$op['var']];
-			if ($tostr) {
-				$ret = foldToCode($ret, $EX);
-			}
 			if ($free && empty($this->keepTs)) {
 				unset($T[$op['var']]);
@@ -753,8 +750,8 @@
 
 			$this->recognizeAndDecompileClosedBlocks($EX, array($range[0], $range[0]), $indent . INDENT);
-			$op1 = $this->getOpVal($firstOp['op1'], $EX, false, true);
+			$op1 = $this->getOpVal($firstOp['op1'], $EX, true);
 
 			$this->recognizeAndDecompileClosedBlocks($EX, array($range[0] + 1, $range[1]), $indent . INDENT);
-			$op2 = $this->getOpVal($lastOp['op1'], $EX, false, true);
+			$op2 = $this->getOpVal($lastOp['op1'], $EX, true);
 
 			$T[$firstOp['result']['var']] = new Decompiler_Binop($this, $op1, $firstOp['opcode'], $op2);
@@ -775,7 +772,7 @@
 			$condition = $this->getOpVal($firstOp['op1'], $EX);
 			$this->recognizeAndDecompileClosedBlocks($EX, $trueRange, $indent . INDENT);
-			$trueValue = $this->getOpVal($opcodes[$trueRange[1]]['op1'], $EX, false, true);
+			$trueValue = $this->getOpVal($opcodes[$trueRange[1]]['op1'], $EX, true);
 			$this->recognizeAndDecompileClosedBlocks($EX, $falseRange, $indent . INDENT);
-			$falseValue = $this->getOpVal($opcodes[$falseRange[1]]['op1'], $EX, false, true);
+			$falseValue = $this->getOpVal($opcodes[$falseRange[1]]['op1'], $EX, true);
 			$T[$opcodes[$trueRange[1]]['result']['var']] = new Decompiler_TriOp($condition, $trueValue, $falseValue);
 			return false;
@@ -1479,5 +1476,5 @@
 			case XC_UNSET_DIM:
 			case XC_UNSET_OBJ:
-				$src = $this->getOpVal($op1, $EX, false);
+				$src = $this->getOpVal($op1, $EX);
 				if (is_a($src, "Decompiler_ForeachBox")) {
 					$src->iskey = $this->getOpVal($op2, $EX);
@@ -1491,5 +1488,5 @@
 				else {
 					if (!is_a($src, "Decompiler_ListBox")) {
-						$op1val = $this->getOpVal($op1, $EX, false);
+						$op1val = $this->getOpVal($op1, $EX);
 						$list = new Decompiler_List(isset($op1val) ? $op1val : '$this');
 
@@ -1540,5 +1537,5 @@
 			case XC_ASSIGN: // {{{
 				$lvalue = $this->getOpVal($op1, $EX);
-				$rvalue = $this->getOpVal($op2, $EX, false);
+				$rvalue = $this->getOpVal($op2, $EX);
 				if (is_a($rvalue, 'Decompiler_ForeachBox')) {
 					$type = $rvalue->iskey ? 'fe_key' : 'fe_as';
@@ -1576,5 +1573,5 @@
 			case XC_ASSIGN_REF: // {{{
 				$lvalue = $this->getOpVal($op1, $EX);
-				$rvalue = $this->getOpVal($op2, $EX, false);
+				$rvalue = $this->getOpVal($op2, $EX);
 				if (is_a($rvalue, 'Decompiler_Fetch')) {
 					$src = str($rvalue->src, $EX);
@@ -1710,5 +1707,5 @@
 				}
 
-				$EX['fbc'] = $this->getOpVal($op2, $EX, false);
+				$EX['fbc'] = $this->getOpVal($op2, $EX);
 				if (($opc == XC_INIT_STATIC_METHOD_CALL || $opc == XC_INIT_METHOD_CALL) && !isset($EX['fbc'])) {
 					$EX['fbc'] = '__construct';
@@ -1741,5 +1738,5 @@
 				break;
 			case XC_DO_FCALL:
-				$fname = unquoteName($this->getOpVal($op1, $EX, false), $EX);
+				$fname = unquoteName($this->getOpVal($op1, $EX), $EX);
 				$args = $this->popargs($EX, $ext);
 				$resvar = $fname . "($args)";
@@ -1871,5 +1868,5 @@
 			case XC_INIT_ARRAY:
 			case XC_ADD_ARRAY_ELEMENT: // {{{
-				$rvalue = $this->getOpVal($op1, $EX, false, true);
+				$rvalue = $this->getOpVal($op1, $EX, true);
 
 				if ($opc == XC_ADD_ARRAY_ELEMENT) {
@@ -1928,5 +1925,5 @@
 				// }}}
 			case XC_FE_FETCH: // {{{
-				$op['fe_src'] = $this->getOpVal($op1, $EX, false, true);
+				$op['fe_src'] = $this->getOpVal($op1, $EX, true);
 				$fe = new Decompiler_ForeachBox($op);
 				$fe->iskey = false;
@@ -2127,6 +2124,6 @@
 				else if (isset($this->binops[$opc])) { // {{{
 					$this->usedOps[$opc] = true;
-					$op1val = $this->getOpVal($op1, $EX, false);
-					$op2val = $this->getOpVal($op2, $EX, false);
+					$op1val = $this->getOpVal($op1, $EX);
+					$op2val = $this->getOpVal($op2, $EX);
 					$rvalue = new Decompiler_Binop($this, $op1val, $opc, $op2val);
 					$resvar = $rvalue;
