//// [accessibilityModifiers.ts] // No errors class C { private static privateProperty; private static privateMethod() { } private static get privateGetter() { return 0; } private static set privateSetter(a: number) { } protected static protectedProperty; protected static protectedMethod() { } protected static get protectedGetter() { return 0; } protected static set protectedSetter(a: number) { } public static publicProperty; public static publicMethod() { } public static get publicGetter() { return 0; } public static set publicSetter(a: number) { } } // Errors, accessibility modifiers must precede static class D { static private privateProperty; static private privateMethod() { } static private get privateGetter() { return 0; } static private set privateSetter(a: number) { } static protected protectedProperty; static protected protectedMethod() { } static protected get protectedGetter() { return 0; } static protected set protectedSetter(a: number) { } static public publicProperty; static public publicMethod() { } static public get publicGetter() { return 0; } static public set publicSetter(a: number) { } } // Errors, multiple accessibility modifier class E { private public protected property; public protected method() { } private protected get getter() { return 0; } public public set setter(a: number) { } } //// [accessibilityModifiers.js] // No errors var C = (function () { function C() { } C.privateMethod = function () { }; Object.defineProperty(C, "privateGetter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(C, "privateSetter", { set: function (a) { }, enumerable: true, configurable: true }); C.protectedMethod = function () { }; Object.defineProperty(C, "protectedGetter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(C, "protectedSetter", { set: function (a) { }, enumerable: true, configurable: true }); C.publicMethod = function () { }; Object.defineProperty(C, "publicGetter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(C, "publicSetter", { set: function (a) { }, enumerable: true, configurable: true }); return C; })(); // Errors, accessibility modifiers must precede static var D = (function () { function D() { } D.privateMethod = function () { }; Object.defineProperty(D, "privateGetter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(D, "privateSetter", { set: function (a) { }, enumerable: true, configurable: true }); D.protectedMethod = function () { }; Object.defineProperty(D, "protectedGetter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(D, "protectedSetter", { set: function (a) { }, enumerable: true, configurable: true }); D.publicMethod = function () { }; Object.defineProperty(D, "publicGetter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(D, "publicSetter", { set: function (a) { }, enumerable: true, configurable: true }); return D; })(); // Errors, multiple accessibility modifier var E = (function () { function E() { } E.prototype.method = function () { }; Object.defineProperty(E.prototype, "getter", { get: function () { return 0; }, enumerable: true, configurable: true }); Object.defineProperty(E.prototype, "setter", { set: function (a) { }, enumerable: true, configurable: true }); return E; })();