anonymous = new class extends ArrayObject { public function __construct() { parent::__construct(['a' => 1, 'b' => 2]); } }; } } class A extends B implements C { } class C2 { } // phpcs:ignore Standard.Category.Sniff interface I1 extends Foo { } interface I2 extends Bar { } interface I3 extends Foo, Bar { } class C1 extends Foo { } class C2 extends Bar { } class C3 extends Foo implements Bar { } class C4 extends Foo implements Bar { } class C5 extends Foo implements Bar, Baz { } class C6 extends \Foo\Bar implements \Baz\Bar { } interface I4 extends \Baz \Bar { } interface I5 extends /* comment */ \Foo\Bar { } interface I6 extends // comment \Foo\Bar { } class C7 extends // comment \Foo\Bar implements \Baz\Bar { } class C8 { } foo(new class { }); readonly class Test { } readonly class Test { } if (!class_exists('IndentedDeclaration')) { class IndentedDeclaration { function foo() {} } } // Space between modifier and class keyword would not be flagged nor fixed if newline + indentation. final class FinalClassWithIndentation { } readonly class ReadonlyClassWithIndentation { } // And would also not be flagged if there was a comment between (not auto-fixable). final/*comment*/class FinalClassWithComment { } abstract /*comment*/ class AbstractClassWithComment { } readonly // comment class ReadonlyClassWithComment { }