73 lines
1.3 KiB
JavaScript
73 lines
1.3 KiB
JavaScript
//// [staticVisibility.ts]
|
|
|
|
class C1 {
|
|
|
|
p: any;
|
|
static s: any;
|
|
|
|
constructor() {
|
|
var v = 0;
|
|
|
|
s = 1; // should be error
|
|
C1.s = 1; // should be ok
|
|
|
|
b(); // should be error
|
|
C1.b(); // should be ok
|
|
}
|
|
|
|
static b() {
|
|
v = 1; // should be error
|
|
this.p = 0; // should be error
|
|
C1.s = 1; // should be ok
|
|
}
|
|
}
|
|
|
|
class C2 {
|
|
|
|
barback:string = "";
|
|
|
|
|
|
|
|
|
|
static get Bar() {return "bar";} // ok
|
|
|
|
static set Bar(bar:string) {barback = bar;} // not ok
|
|
|
|
}
|
|
|
|
|
|
|
|
//// [staticVisibility.js]
|
|
var C1 = (function () {
|
|
function C1() {
|
|
var v = 0;
|
|
s = 1; // should be error
|
|
C1.s = 1; // should be ok
|
|
b(); // should be error
|
|
C1.b(); // should be ok
|
|
}
|
|
C1.b = function () {
|
|
v = 1; // should be error
|
|
this.p = 0; // should be error
|
|
C1.s = 1; // should be ok
|
|
};
|
|
return C1;
|
|
})();
|
|
var C2 = (function () {
|
|
function C2() {
|
|
this.barback = "";
|
|
}
|
|
Object.defineProperty(C2, "Bar", {
|
|
get: function () {
|
|
return "bar";
|
|
} // ok
|
|
,
|
|
set: function (bar) {
|
|
barback = bar;
|
|
} // not ok
|
|
,
|
|
enumerable: true,
|
|
configurable: true
|
|
});
|
|
return C2;
|
|
})();
|