Modifier change ----- <?php class Foo {} abstract class Bar { const FOO = 42; var $foo = 24; public function foo() {} } ----- $stmts[0]->flags = Stmt\Class_::MODIFIER_ABSTRACT; $stmts[1]->flags = 0; $stmts[1]->stmts[0]->flags = Stmt\Class_::MODIFIER_PRIVATE; $stmts[1]->stmts[1]->flags = Stmt\Class_::MODIFIER_PROTECTED; $stmts[1]->stmts[2]->flags |= Stmt\Class_::MODIFIER_FINAL; ----- <?php abstract class Foo {} class Bar { private const FOO = 42; protected $foo = 24; public final function foo() {} }