{"shas":[["e31190b198b3e4fb750df980641496d2d682aa17","65ca64ede6f62684d2d4f9a9281f53779cb35c44@gmail.com","Fix class constants inherited from redeclared classes\n\nIn case a class inherits a constant from a redeclared class, references\nto that constant might be incorrectly resolved at compile-time (using\nany of the redeclared base classes) instead of being delayed at runtime.\n\nFor example the following code:\n<?php\n\nif (true) {\n\tclass A {\n\t\tconst C = 1;\n\t}\n} else {\n\tclass A {\n\t\tconst C = 2;\n\t}\n}\n\nclass B extends A { }\n\necho B::C, PHP_EOL;\n\n?>\n\nprints \"1\" under php and hphpi, but \"2\" under hphp.\n\nThis patch fixes the problem by using dynamic resolution in this case.","Lorenzo Castelli"]],"repo":"lcastelli/hiphop-php","actor":"lcastelli","ref":"refs/heads/bugfixes","size":1,"head":"e31190b198b3e4fb750df980641496d2d682aa17","actor_gravatar":"c467638bb7bafb5f34498712ba9f5b27","push_id":25125719}