modifierChange.test 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. Modifier change
  2. -----
  3. <?php
  4. class Foo {}
  5. abstract class Bar {
  6. const
  7. FOO = 42;
  8. var $foo
  9. = 24;
  10. public function
  11. foo() {}
  12. }
  13. -----
  14. $stmts[0]->flags = Stmt\Class_::MODIFIER_ABSTRACT;
  15. $stmts[1]->flags = 0;
  16. $stmts[1]->stmts[0]->flags = Stmt\Class_::MODIFIER_PRIVATE;
  17. $stmts[1]->stmts[1]->flags = Stmt\Class_::MODIFIER_PROTECTED;
  18. $stmts[1]->stmts[2]->flags |= Stmt\Class_::MODIFIER_FINAL;
  19. -----
  20. <?php
  21. abstract class Foo {}
  22. class Bar {
  23. private const
  24. FOO = 42;
  25. protected $foo
  26. = 24;
  27. public final function
  28. foo() {}
  29. }
  30. -----
  31. <?php
  32. function test(
  33. public T1 $x
  34. = 'y',
  35. private T2 $y
  36. = 'z',
  37. T3 $z
  38. = 'x',
  39. ) {}
  40. -----
  41. $stmts[0]->params[0]->flags = Stmt\Class_::MODIFIER_PRIVATE;
  42. $stmts[0]->params[1]->flags = 0;
  43. $stmts[0]->params[2]->flags = Stmt\Class_::MODIFIER_PUBLIC;
  44. -----
  45. <?php
  46. function test(
  47. private T1 $x
  48. = 'y',
  49. T2 $y
  50. = 'z',
  51. public T3 $z
  52. = 'x',
  53. ) {}
  54. -----
  55. <?php
  56. new class {};
  57. new readonly class {};
  58. -----
  59. $stmts[0]->expr->class->flags = Stmt\Class_::MODIFIER_READONLY;
  60. $stmts[1]->expr->class->flags = 0;
  61. -----
  62. <?php
  63. readonly class {};
  64. class {};