bug75218.phpt 645 B

123456789101112131415161718192021222324
  1. --TEST--
  2. Bug #75218: Change remaining uncatchable fatal errors for parsing into ParseError
  3. --FILE--
  4. <?php
  5. function try_eval($code) {
  6. try {
  7. eval($code);
  8. } catch (CompileError $e) {
  9. echo $e->getMessage(), "\n";
  10. }
  11. }
  12. try_eval('if (false) {class C { final final function foo($fff) {}}}');
  13. try_eval('if (false) {class C { private protected $x; }}');
  14. try_eval('if (true) { __HALT_COMPILER(); }');
  15. try_eval('declare(encoding=[]);');
  16. ?>
  17. --EXPECT--
  18. Multiple final modifiers are not allowed
  19. Multiple access type modifiers are not allowed
  20. __HALT_COMPILER() can only be used from the outermost scope
  21. Encoding must be a literal