//// [tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts] ////

//// [derivedClassWithPrivateStaticShadowingPublicStatic.ts]
class Base {
    public static x: string;
    public static fn(): string {
        return '';
    }

    public static get a() { return 1; }
    public static set a(v) { }
}

// BUG 847404
// should be error
class Derived extends Base {
    private static x: string; 
    private static fn(): string {
        return '';
    }

    private static get a() { return 1; }
    private static set a(v) { }
}

var r = Base.x; // ok
var r2 = Derived.x; // error

var r3 = Base.fn(); // ok
var r4 = Derived.fn(); // error

var r5 = Base.a; // ok
Base.a = 2; // ok

var r6 = Derived.a; // error
Derived.a = 2; // error

//// [derivedClassWithPrivateStaticShadowingPublicStatic.js]
"use strict";
class Base {
    static fn() {
        return '';
    }
    static get a() { return 1; }
    static set a(v) { }
}
// BUG 847404
// should be error
class Derived extends Base {
    static fn() {
        return '';
    }
    static get a() { return 1; }
    static set a(v) { }
}
var r = Base.x; // ok
var r2 = Derived.x; // error
var r3 = Base.fn(); // ok
var r4 = Derived.fn(); // error
var r5 = Base.a; // ok
Base.a = 2; // ok
var r6 = Derived.a; // error
Derived.a = 2; // error
