4 // This is necessary because the generated __xhpAttributeDeclaration() has a
5 // call to parent::__xhpAttributeDeclaration().
6 protected static function __xhpAttributeDeclaration() {
10 public static function xhpAttributeDeclaration() {
11 return static::__xhpAttributeDeclaration();
15 class :node1
extends :base
{
20 class :node2
extends :base
{
26 class :node3
extends :base
{
34 class :node4
extends :base
{
42 function mixedFn1(mixed $test) { return 'fn'; }
43 function mixedFn2(string $a1, mixed $v2) { return 'fn'; }
46 :node1
::xhpAttributeDeclaration()['checkme'][0].
47 :node2
::xhpAttributeDeclaration()['checkme'][0].
48 :node3
::xhpAttributeDeclaration()['checkme'][0].
49 :node4
::xhpAttributeDeclaration()['checkme'][0].
51 mixedFn2('a1', 'hi')."\n";