// No new classes check::classes(array(Foo, A, A1, Bar, MyClass, MyClassT_i)); // now new vars check::globals(array(bar_x)); class PhpFoo extends Foo { function ping() { return "PhpFoo::ping()"; } } $a = new PhpFoo(); check::equal($a->ping(), "PhpFoo::ping()", "ping failed"); check::equal($a->pong(), "Foo::pong();PhpFoo::ping()", "pong failed"); $b = new Foo(); check::equal($b->ping(), "Foo::ping()", "ping failed"); check::equal($b->pong(), "Foo::pong();Foo::ping()", "pong failed"); $a = new A1(1); check::equal($a->rg(2), 2, "rg failed"); class PhpClass extends MyClass { function vmethod($b) { $b->x = $b->x + 31; return $b; } } $b = new Bar(3); $d = new MyClass(); $c = new PhpClass(); $cc = MyClass::get_self($c);