TypeScript/tests/baselines/reference/superPropertyAccessNoError.js
Pathurs 5c85febb0c
Fix Get/Set being enumerable (#32264)
* Fix Get/Set being enumerable

fixes #3610

* fix tests

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-02-27 14:08:20 -08:00

158 lines
4.5 KiB
TypeScript

//// [superPropertyAccessNoError.ts]
//super.publicInstanceMemberFunction in constructor of derived class
//super.publicInstanceMemberFunction in instance member function of derived class
//super.publicInstanceMemberFunction in instance member accessor(get and set) of derived class
//super.publicInstanceMemberFunction in lambda in member function
//super.publicStaticMemberFunction in static member function of derived class
//super.publicStaticMemberFunction in static member accessor(get and set) of derived class
class SomeBaseClass {
public func() {
return '';
}
static func() {
return 3;
}
returnThis() {
return this;
}
}
class SomeDerivedClass extends SomeBaseClass {
constructor() {
super();
var x = super.func();
var x: string;
}
fn() {
var x = super.func();
var x: string;
var y = () => super.func();
}
get a() {
var x = super.func();
var x: string;
return null;
}
set a(n) {
var x = super.func();
var x: string;
}
static fn() {
var x = super.func();
var x: number;
}
static get a() {
var x = super.func();
var x: number;
return null;
}
static set a(n) {
var x = super.func();
var x: number;
}
returnThis() {
return super.returnThis();
}
}
let instance = new SomeDerivedClass();
instance.returnThis().fn();
//// [superPropertyAccessNoError.js]
//super.publicInstanceMemberFunction in constructor of derived class
//super.publicInstanceMemberFunction in instance member function of derived class
//super.publicInstanceMemberFunction in instance member accessor(get and set) of derived class
//super.publicInstanceMemberFunction in lambda in member function
//super.publicStaticMemberFunction in static member function of derived class
//super.publicStaticMemberFunction in static member accessor(get and set) of derived class
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var SomeBaseClass = /** @class */ (function () {
function SomeBaseClass() {
}
SomeBaseClass.prototype.func = function () {
return '';
};
SomeBaseClass.func = function () {
return 3;
};
SomeBaseClass.prototype.returnThis = function () {
return this;
};
return SomeBaseClass;
}());
var SomeDerivedClass = /** @class */ (function (_super) {
__extends(SomeDerivedClass, _super);
function SomeDerivedClass() {
var _this = _super.call(this) || this;
var x = _super.prototype.func.call(_this);
var x;
return _this;
}
SomeDerivedClass.prototype.fn = function () {
var _this = this;
var x = _super.prototype.func.call(this);
var x;
var y = function () { return _super.prototype.func.call(_this); };
};
Object.defineProperty(SomeDerivedClass.prototype, "a", {
get: function () {
var x = _super.prototype.func.call(this);
var x;
return null;
},
set: function (n) {
var x = _super.prototype.func.call(this);
var x;
},
enumerable: false,
configurable: true
});
SomeDerivedClass.fn = function () {
var x = _super.func.call(this);
var x;
};
Object.defineProperty(SomeDerivedClass, "a", {
get: function () {
var x = _super.func.call(this);
var x;
return null;
},
set: function (n) {
var x = _super.func.call(this);
var x;
},
enumerable: false,
configurable: true
});
SomeDerivedClass.prototype.returnThis = function () {
return _super.prototype.returnThis.call(this);
};
return SomeDerivedClass;
}(SomeBaseClass));
var instance = new SomeDerivedClass();
instance.returnThis().fn();