call_user_funcを使わないで動的にスタティックメソッドを呼ぶ(再掲)

以前、call_user_funcを使わないで動的にスタティックメソッドを呼ぶ方法を書いたんだけれどクラス名が変数じゃないと動作しないのはなんでだろう?
http://d.hatena.ne.jp/themorthem/20130117/1358429228

<?php
class C {
  public static $foo = 123;
}

$a = "C";
echo $a::$foo;

上記は動く。が、クラスを参照する際の変数をオブジェクトのプロパティにするとパースエラーになる。

<?php
class C {
  public static $foo = 123;
}

class B{
  public $b = "C";
}

$a = "C";
echo ($b->b)::$foo;
PHP Parse error:  syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM), expecting ',' or ';' in /home/hTpViQ/prog.php on line 11

ideone.comのPHP5.4.4-12でエラー出てる。

そのうちなんとかなってほしい。