Changeset 1327


Ignore:
Timestamp:
2013-07-16T05:24:01+02:00 (12 months ago)
Author:
moo
Message:

undone code removal mistake

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mod_disassembler/sample.php

    r1322 r1327  
    11<?php 
    22 
    3 $a = new A(); 
    4 new B(); 
    5 a(); 
    6 $a = a(); 
     3/* >= PHP 5.3 
     4namespace ns; 
     5// */ 
     6 
     7abstract class ClassName 
     8{ 
     9    const CONST_VALUE = 'A constant value'; 
     10 
     11    /** doc */ 
     12    static public $static = array( 
     13        array('array'), 
     14        'str' 
     15        ); 
     16    /** doc */ 
     17    static public $public_static = array(2, 'str'); 
     18    /** doc */ 
     19    static private $private_static = array(2, 'str'); 
     20    /** doc */ 
     21    static protected $protected_static = array(2, 'str'); 
     22    /** doc */ 
     23    public $property = array( 
     24        array('array'), 
     25        'str' 
     26        ); 
     27    /** doc */ 
     28    public $public_property = array(2, 'str'); 
     29    /** doc */ 
     30    private $private_property = array(2, 'str'); 
     31    /** doc */ 
     32    protected $protected_property = array(2, 'str'); 
     33 
     34    /** doc */ 
     35    public function __construct($a, $b) 
     36    { 
     37        echo CONST_VALUE; 
     38        echo ClassName::CONST_VALUE; 
     39        empty(ClassName::$classProp); 
     40        isset(ClassName::$classProp); 
     41        unset(ClassName::$classProp); 
     42        ClassName::$classProp = 1; 
     43        echo ClassName::$classProp; 
     44        empty($obj->objProp); 
     45        isset($obj->objProp); 
     46        unset($obj->objProp); 
     47        $obj->objProp = 1; 
     48        echo $obj->objProp; 
     49        empty($this->thisProp); 
     50        isset($this->thisProp); 
     51        unset($this->thisProp); 
     52        $this->thisProp = 1; 
     53        echo $this->thisProp; 
     54        unset($array['index']->valueProp); 
     55        unset($obj->array['index']); 
     56        unset($this->array['index']); 
     57        empty($_GET['get']); 
     58        isset($_GET['get']); 
     59        unset($_GET['get']); 
     60        $_GET['get'] = 1; 
     61        echo $_GET['get']; 
     62        isset($GLOBALS['global']); 
     63        empty($GLOBALS['global']); 
     64        unset($GLOBALS['global']); 
     65        $GLOBALS['global'] = 1; 
     66        echo $GLOBALS['global']; 
     67        empty($array['index']); 
     68        isset($array['index']); 
     69        unset($array['index']); 
     70        $array['index'] = 1; 
     71        echo $array['index']; 
     72        empty($array['index']->indexProp); 
     73        isset($array['index']->indexProp); 
     74        unset($array['index']->indexProp); 
     75        $array['index']->indexProp = 1; 
     76        echo $array['index']->indexProp; 
     77        empty($GLOBALS['var']->indexProp); 
     78        isset($GLOBALS['var']->indexProp); 
     79        unset($GLOBALS['var']->indexProp); 
     80        $GLOBALS['var']->indexProp = 1; 
     81        echo $GLOBALS['var']->indexProp; 
     82    } 
     83 
     84    /** doc */ 
     85    abstract public function abastractMethod(); 
     86 
     87    /** doc */ 
     88    public function method($a = NULL, $b = NULL) 
     89    { 
     90    } 
     91 
     92    /** doc */ 
     93    public function publicMethod(ClassName $a = NULL, $b = 2) 
     94    { 
     95    } 
     96 
     97    /** doc */ 
     98    protected function protectedMethod(ClassName $a, $b = array( 
     99            array('array') 
     100            )) 
     101    { 
     102        $runtimeArray = array('1'); 
     103        $runtimeArray2 = array( 
     104            '1', 
     105            array() 
     106            ); 
     107        $runtimeArray3 = array( 
     108            'a' => '1', 
     109            2   => array() 
     110            ); 
     111        return 'protected'; 
     112    } 
     113 
     114    /** doc */ 
     115    private function privateMethod(ClassName $a, $b = NULL) 
     116    { 
     117        return 'private'; 
     118    } 
     119} 
     120 
     121interface IInterface 
     122{ 
     123    public function nothing(); 
     124} 
     125 
     126function f1($f) 
     127{ 
     128    echo __FUNCTION__; 
     129    echo $f; 
     130} 
     131 
     132final class Child extends ClassName implements IInterface 
     133{ 
     134    public function __construct() 
     135    { 
     136        parent::__construct(); 
     137        ClassName::__construct(); 
     138        echo __CLASS__; 
     139        echo __METHOD__; 
     140        echo __FUNCTION__; 
     141        throw new Exception(); 
     142        $this->methodCall(); 
     143    } 
     144 
     145    public function __destruct() 
     146    { 
     147        parent::__destruct(); 
     148        functionCall(); 
     149    } 
     150 
     151    static public function __callStatic($name, $args) 
     152    { 
     153        parent::__callStatic($name, $args); 
     154    } 
     155 
     156    public function __toString() 
     157    { 
     158        parent::__toString(); 
     159    } 
     160 
     161    public function __set($name, $value) 
     162    { 
     163    } 
     164 
     165    public function __get($name) 
     166    { 
     167    } 
     168 
     169    public function __isset($name) 
     170    { 
     171    } 
     172 
     173    public function __unset($name) 
     174    { 
     175    } 
     176 
     177    public function __sleep() 
     178    { 
     179    } 
     180 
     181    public function __wakeup() 
     182    { 
     183    } 
     184 
     185    public function __clone() 
     186    { 
     187        return array(); 
     188    } 
     189} 
     190 
     191if ($late) { 
     192    class LateBindingClass 
     193    { 
     194        public function __construct() 
     195        { 
     196        } 
     197    } 
     198 
     199    function lateBindingFunction($arg) 
     200    { 
     201        echo 'lateFunction'; 
     202        return new lateBindingFunction(); 
     203    } 
     204} 
     205 
     206echo "\r\n"; 
     207echo "\r"; 
     208echo "\n"; 
     209echo str_replace(array('a' => 'a', 'b' => 'c'), 'b'); 
     210$object = new ClassName(); 
     211$object = new $className(); 
     212$result = $object instanceof ClassName; 
     213$cloned = clone $object; 
     214$a = 1; 
     215$a = $b + $c; 
     216$a = $b + 1; 
     217$a = 1 + $b; 
     218$a = $b - $c; 
     219$a = $b * $c; 
     220$a = $b / $c; 
     221$a = $b % $c; 
     222$a = $b . $c; 
     223$a = $b = $c; 
     224$a = $b & $c; 
     225$a = $b | $c; 
     226$a = $b ^ $c; 
     227$a = ~$b; 
     228$a = -$b; 
     229$a = +$b; 
     230$a = $b >> $c; 
     231$a = $b >> $c; 
     232$a = $b == $c; 
     233$a = $b === $c; 
     234$a = $b != $c; 
     235$a = $b < $c; 
     236$a = $b <= $c; 
     237$a = $b <= $c; 
     238$a = $b++; 
     239$a = ++$b; 
     240$a = $obj->b++; 
     241$a = ++$obj->b; 
     242$a = $b--; 
     243$a = --$b; 
     244$a = $obj->b--; 
     245$a = --$obj->b; 
     246$a = !$b; 
     247$a = $b === $c; 
     248$a = $b !== $c; 
     249$a = $b << 2; 
     250$a = $b >> 3; 
     251$a += $b; 
     252$a -= $b; 
     253$a *= $b; 
     254$a /= $b; 
     255$a <<= $b; 
     256$a >>= $b; 
     257$a &= $b; 
     258$a |= $b; 
     259$a .= $b; 
     260$a %= $b; 
     261$a ^= $b; 
     262$a = 'a' . 'b'; 
     263$a = 'a' . 'abc'; 
     264@f1(); 
     265print('1'); 
     266// ref(&$a); 
     267$a = $array['index']; 
     268$a = $object->prop; 
     269$a = $this->prop; 
     270$array['index'] = 1; 
     271$object->prop = 1; 
     272$this->prop = 1; 
     273$a = isset($b); 
     274$a = empty($b); 
     275unset($b); 
     276$a = isset($array['index']); 
     277$a = empty($array['index']); 
     278unset($array['index']); 
     279$a = isset($object->prop); 
     280$a = empty($object->prop); 
     281unset($object->prop); 
     282$a = isset($this->prop); 
     283$a = empty($this->prop); 
     284unset($this->prop); 
     285$a = isset(ClassName::$prop); 
     286$a = empty(ClassName::$prop); 
     287unset(ClassName::$prop); 
     288$a = (int) $b; 
     289$a = (double) $b; 
     290$a = (string) $b; 
     291$a = (array) $b; 
     292$a = (object) $b; 
     293$a = (bool) $b; 
     294$a = (unset) $b; 
     295$a = (array) $b; 
     296$a = (object) $b; 
     297// PHP6+ $a = (scalar) $b; 
     298$a = ($b ? $c : $d); 
     299$a = (f1() ? f2() : f3()); 
     300($a = $b) xor $c; 
     301($a = $b) and $c; 
     302($a = $b) or $c; 
     303$a = $b && $c; 
     304$a = $b || $c; 
     305 
     306do { 
     307    try { 
     308        echo 'outer try 1'; 
     309 
     310        try { 
     311            echo 'inner try'; 
     312        } 
     313        catch (InnerException $e) { 
     314            echo $e; 
     315        } 
     316 
     317        echo 'outer try 2'; 
     318    } 
     319    catch (OuterException $e) { 
     320        echo $e; 
     321    } 
     322} while (0); 
     323 
     324if (if_()) { 
     325    echo 'if'; 
     326 
     327    if (innerIf_()) { 
     328        echo 'if innerIf'; 
     329    } 
     330} 
     331else if (elseif_()) { 
     332    echo 'else if'; 
     333 
     334    if (innerIf_()) { 
     335        echo 'if innerIf'; 
     336    } 
     337} 
     338else { 
     339    if (innerIf_()) { 
     340        echo 'if innerIf'; 
     341    } 
     342 
     343    echo 'else'; 
     344} 
     345 
     346while (false) { 
     347    echo 'while'; 
     348} 
     349 
     350do { 
     351    echo 'do/while'; 
     352} while (false); 
     353 
     354$i = 1; 
     355 
     356for (; $i < 10; ++$i) { 
     357    echo $i; 
     358    break; 
     359} 
     360 
     361foreach ($array as $value) { 
     362    foreach ($value as $key => $value) { 
     363        echo $key . ' = ' . $value . "\n"; 
     364        break 2; 
     365        continue; 
     366    } 
     367} 
     368 
     369switch ($normalSwitch) { 
     370case 'case1': 
     371    echo 'case1'; 
     372 
     373    switch ($nestedSwitch) { 
     374    case 1: 
     375    } 
     376 
     377    break; 
     378 
     379case 'case2': 
     380    echo 'case2'; 
     381    break; 
     382 
     383default: 
     384    switch ($nestedSwitch) { 
     385    case 1: 
     386    } 
     387 
     388    echo 'default'; 
     389    break; 
     390} 
     391 
     392switch ($switchWithoutDefault) { 
     393case 'case1': 
     394    echo 'case1'; 
     395    break; 
     396 
     397case 'case2': 
     398    echo 'case2'; 
     399    break; 
     400} 
     401 
     402switch ($switchWithMiddleDefault) { 
     403case 'case1': 
     404    echo 'case1'; 
     405    break; 
     406 
     407default: 
     408    echo 'default'; 
     409    break; 
     410 
     411case 'case2': 
     412    echo 'case2'; 
     413    break; 
     414} 
     415 
     416switch ($switchWithInitialDefault) { 
     417default: 
     418    echo 'default'; 
     419    break; 
     420 
     421case 'case1': 
     422    echo 'case1'; 
     423    break; 
     424 
     425case 'case2': 
     426    echo 'case2'; 
     427    break; 
     428} 
     429 
     430switch (emptySwitch()) { 
     431} 
     432 
     433switch (emptySwitch()) { 
     434default: 
     435} 
     436 
     437declare (ticks=1) { 
     438    echo 1; 
     439} 
     440 
     441while (1) { 
     442    declare (ticks=1) { 
     443        echo 2; 
     444    } 
     445} 
     446 
     447require 'require.php'; 
     448require_once 'require_once.php'; 
     449include 'include.php'; 
     450include_once 'include_once.php'; 
     451echo __FILE__; 
     452echo __LINE__; 
     453 
     454/* 
     455echo 'PHP 5.3+ code testing'; 
     456const CONST_VALUE = 1; 
     457echo $this::CONST_VALUE; 
     458echo $a::CONST_VALUE; 
     459echo CONST_VALUE; 
     460$this::__construct(); 
     461$obj::__construct(); 
     462$a = $b ?: $d; 
     463$a = ($b ?: $d) + $c; 
     464$a = f1() ?: f2(); 
     465$a = C::f1() ?: C::f2(); 
     466$a = ($b ? $c : $d); 
     467$a = ($b ? $c : $d) + $c; 
     468$a = (f1() ? f3() : f2()); 
     469 
     470if ($b ?: $d) { 
     471    echo 'if ($b ?: $d)'; 
     472} 
     473 
     474if (($b ?: $d) + $c) { 
     475    echo 'if (($b ?: $d) + $c)'; 
     476} 
     477 
     478if (f1() ?: f2()) { 
     479    echo 'if (f1() ?: f2())'; 
     480} 
     481 
     482echo 'goto a'; 
     483goto a; 
     484 
     485$i = 1; 
     486 
     487for (; $i <= 2; ++$i) { 
     488    goto a; 
     489} 
     490 
     491a: 
     492echo 'label a'; 
     493echo preg_replace_callback('~-([a-z])~', function($match) { 
     494    return strtoupper($match[1]); 
     495}, 'hello-world'); 
     496$greet = function($name) { 
     497    printf("Hello %s\r\n", $name); 
     498}; 
     499$greet('World'); 
     500$greet('PHP'); 
     501$total = 0; 
     502$tax = 1; 
     503$callback = function($quantity, $product) use($tax, &$total) { 
     504    $tax = 'tax'; 
     505    static $static1 = array(1); 
     506    static $static2; 
     507    $tax = 'tax'; 
     508    $tax = --$tax; 
     509    $pricePerItem = constant('PRICE_' . strtoupper($product)); 
     510    $total += $pricePerItem * $quantity * ($tax + 1); 
     511}; 
     512// */ 
     513exit(); 
    7514 
    8515?> 
Note: See TracChangeset for help on using the changeset viewer.