tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(7,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.
tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(16,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.
tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(25,9): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.
tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(40,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses.
tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(41,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses.
tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(42,1): error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses.
tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts(43,1): error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.


==== tests/cases/conformance/classes/members/accessibility/protectedStaticClassPropertyAccessibleWithinSubclass.ts (7 errors) ====
    class Base {
        protected static x: string;
        static staticMethod() {
            Base.x;         // OK, accessed within their declaring class
            Derived1.x;     // OK, accessed within their declaring class
            Derived2.x;     // OK, accessed within their declaring class
            Derived3.x;     // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses
            ~~~~~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.
        }
    }
    
    class Derived1 extends Base {
        static staticMethod1() {
            Base.x;         // OK, accessed within a class derived from their declaring class
            Derived1.x;     // OK, accessed within a class derived from their declaring class
            Derived2.x;     // OK, accessed within a class derived from their declaring class
            Derived3.x;     // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses
            ~~~~~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.
        }
    }
    
    class Derived2 extends Base {
        static staticMethod2() {
            Base.x;         // OK, accessed within a class derived from their declaring class
            Derived1.x;     // OK, accessed within a class derived from their declaring class
            Derived2.x;     // OK, accessed within a class derived from their declaring class
            Derived3.x;     // Error, redefined in a subclass, can only be accessed in the declaring class or one of its subclasses
            ~~~~~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.
        }
    }
    
    class Derived3 extends Derived1 {
        protected static x: string;
        static staticMethod3() {
            Base.x;         // OK, accessed within a class derived from their declaring class
            Derived1.x;     // OK, accessed within a class derived from their declaring class
            Derived2.x;     // OK, accessed within a class derived from their declaring class
            Derived3.x;     // OK, accessed within their declaring class
        }
    }
    
    
    Base.x;         // Error, neither within their declaring class nor classes derived from their declaring class
    ~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses.
    Derived1.x;     // Error, neither within their declaring class nor classes derived from their declaring class
    ~~~~~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses.
    Derived2.x;     // Error, neither within their declaring class nor classes derived from their declaring class
    ~~~~~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Base' and its subclasses.
    Derived3.x;     // Error, neither within their declaring class nor classes derived from their declaring class
    ~~~~~~~~~~
!!! error TS2445: Property 'x' is protected and only accessible within class 'Derived3' and its subclasses.