Index: /trunk/decompilesample.php
===================================================================
--- /trunk/decompilesample.php	(revision 746)
+++ /trunk/decompilesample.php	(revision 747)
@@ -1,5 +1,5 @@
 <?php
 
-class ClassName
+abstract class ClassName
 {
 	/** doc */
@@ -27,7 +27,17 @@
 
 	/** doc */
+	const CONST_VALUE = 'A constant value';
+
+	/** doc */
 	public function __construct($a, $b)
 	{
-	}
+		echo CONST_VALUE;
+		echo $this::CONST_VALUE;
+		echo $a::CONST_VALUE;
+		echo ClassName::CONST_VALUE;
+	}
+
+	/** doc */
+	abstract function abastractMethod();
 
 	/** doc */
@@ -65,5 +75,111 @@
 }
 
+interface IInterface
+{
+	public function nothing();
+}
+
+final class Child extends ClassName implements IInterface
+{
+	public function __construct()
+	{
+		parent::__construct();
+		echo __CLASS__;
+		echo __METHOD__;
+	}
+
+	function __set($name, $value)
+	{
+	}
+
+	function __get($name)
+	{
+	}
+
+	function __isset($name)
+	{
+	}
+
+	function __unset($name)
+	{
+	}
+
+	function __sleep()
+	{
+	}
+
+	function __wakeup()
+	{
+	}
+}
+
 echo str_replace(array('a' => 'a', 'b' => 'c'), 'b');
+
+$object = new ClassName;
+$cloned = clone $object;
+
+$a = 1;
+$a = $b + $c;
+$a = $b + 1;
+$a = 1 + $b;
+$a = $b - $c;
+$a = $b * $c;
+$a = $b / $c;
+$a = $b % $c;
+$a = $b . $c;
+$a = $b = $c;
+$a = $b & $c;
+$a = $b | $c;
+$a = $b ^ $c;
+$a = ~$b;
+$a = $b >> $c;
+$a = $b >> $c;
+$a = $b == $c;
+$a = $b === $c;
+$a = $b != $c;
+$a = $b <> $c;
+$a = $b < $c;
+$a = $b <= $c;
+$a = $b > $c;
+$a = $b <= $c;
+$a = $b++;
+$a = ++$b;
+$a = $b--;
+$a = --$b;
+$a = $b and $c;
+$a = $b or $c;
+$a = $b xor $c;
+$a = !$b;
+$a = $b && $c;
+$a = $b || $c;
+$a = $b instanceof ClassName;
+
+if ($a) {
+	echo 'if ($a)';
+}
+else if ($b) {
+	echo 'else if ($b)';
+}
+else {
+	echo 'else';
+}
+
+while (false) {
+	echo 'while';
+}
+
+do {
+	echo 'do/while';
+} while (false);
+
+for ($i = 1; $i < 10; ++$i) {
+	echo $i;
+	break;
+}
+
+foreach ($array as $key => $value) {
+	echo "$key = $value\n";
+	continue;
+}
 
 switch ($switch) {
@@ -81,3 +197,38 @@
 }
 
+declare (ticks=1) {
+	echo 1;
+	echo 2;
+}
+
+require 'require.php';
+require_once 'require_once.php';
+include 'include.php';
+include_once 'include_once.php';
+
+goto a;
+echo 'foo';
+
+a:
+echo 'bar';
+
+echo preg_replace_callback('~-([a-z])~', function ($match) {
+		return strtoupper($match[1]);
+}, 'hello-world');
+
+$greet = function($name)
+{
+	printf("Hello %s\r\n", $name);
+};
+$greet('World');
+$greet('PHP');
+
+$total = 0.00;
+
+$callback = function ($quantity, $product) use ($tax, &$total)
+{
+	$pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product));
+	$total += ($pricePerItem * $quantity) * ($tax + 1.0);
+};
+
 ?>
