TypeScript/tests/cases/compiler/classUsedBeforeInitializedVariables.ts

41 lines
1,011 B
TypeScript
Raw Normal View History

// @target: es5
class Test {
p1 = 0;
p2 = this.p1;
p3 = this.p4;
p4 = 0;
directlyAssigned: any = this.directlyAssigned;
withinArrowFunction: any = () => this.withinArrowFunction;
withinFunction: any = function () {
return this.withinFunction;
};
withinObjectLiteral: any = {
[this.withinObjectLiteral]: true,
};
withinObjectLiteralGetterName: any = {
get [this.withinObjectLiteralGetterName]() {
return true;
}
};
withinObjectLiteralSetterName: any = {
set [this.withinObjectLiteralSetterName](_: any) {}
};
withinClassDeclarationExtension: any = (class extends this.withinClassDeclarationExtension { });
// These error cases are ignored (not checked by control flow analysis)
assignedByArrowFunction: any = (() => this.assignedByFunction)();
assignedByFunction: any = (function () {
return this.assignedByFunction;
})();
}