Arquivos
hhvm/hphp/test/slow/object_property/686.php
T
Paul Tarjan c2ec1c97c9 sortof format slow tests
A poor man's formatter since I didn't like any of the other ones I found. The original C++ source sometimes put newlines and sometimes not.

Codemods:

    codemod '([;{}])([^\n])' '\1\n\2'
    codemod -m '\s*<\?php\s+' '<?php\n\n'
    codemod '\t' '  '

I hand-fixed all the failing tests
2013-05-30 17:32:57 -07:00

78 linhas
1.2 KiB
PHP

<?php
class A {
private $pri = 'a-pri';
protected $pro = 'a-pro';
function bar() {
var_dump($this->pri);
$pri = $q ? 'zz' : 'p'.'ri';
var_dump($this->$pri);
}
function bar2() {
var_dump($this->pro);
}
}
class B extends A {
private $pri = 'b-pri';
function bar() {
parent::bar();
var_dump($this->pri);
}
}
$obj = new B();
$obj->bar();
class C extends B {
public $pri = 'c-pri';
public $pro = 'c-pro';
function bar2() {
parent::bar2();
var_dump($this->pro);
}
}
$obj = new C;
$obj->bar();
$obj->bar2();
var_dump(serialize($obj));
class Base {
protected $pro = 1;
private $pri = 'base-pri';
function q0() {
var_dump($this->pri);
}
}
class R extends Base {
public $rpub = 1;
protected $pro = 2;
private $pri = 'r-pri';
function q() {
var_dump($this->pri);
}
}
class D extends R {
public $dpub = 'd';
protected $pro = 'pro';
private $pri = 'd-pri';
function qq() {
var_dump($this->pri);
}
}
class DD extends D {
private $pri = 'dd-pri';
function qqq() {
var_dump($this->pri);
}
}
if (false) {
class R{
}
}
$d = new D;
$d->qq();
$d->q();
$d->q0();
$d = new DD;
$d->qqq();
$d->qq();
$d->q();
$d->q0();