549 lines
No EOL
29 KiB
Text
549 lines
No EOL
29 KiB
Text
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(8,20): error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(8,37): error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(9,16): error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(9,33): error TS4047: Return type of call signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(10,24): error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(10,41): error TS4057: Return type of method from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(32,43): error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(36,30): error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(75,67): error TS4016: Type parameter 'T' of exported function has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(127,20): error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(127,50): error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(128,16): error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(128,46): error TS4047: Return type of call signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(129,24): error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(129,54): error TS4057: Return type of method from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(132,43): error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(134,30): error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(137,74): error TS4016: Type parameter 'T' of exported function has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(164,24): error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(164,41): error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(165,20): error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(165,37): error TS4047: Return type of call signature from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(166,28): error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(166,45): error TS4057: Return type of method from exported interface has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(188,47): error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(192,34): error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(231,71): error TS4016: Type parameter 'T' of exported function has or is using private name 'privateClass'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(283,24): error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(283,54): error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(284,20): error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(284,50): error TS4047: Return type of call signature from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(285,28): error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(285,58): error TS4057: Return type of method from exported interface has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(288,47): error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(290,34): error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateModule'.
|
|
tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts(293,78): error TS4016: Type parameter 'T' of exported function has or is using private name 'privateModule'.
|
|
|
|
|
|
==== tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts (36 errors) ====
|
|
class privateClass {
|
|
}
|
|
|
|
export class publicClass {
|
|
}
|
|
|
|
export interface publicInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~
|
|
!!! error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~
|
|
!!! error TS4047: Return type of call signature from exported interface has or is using private name 'privateClass'.
|
|
myMethod<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~
|
|
!!! error TS4057: Return type of method from exported interface has or is using private name 'privateClass'.
|
|
}
|
|
|
|
export interface publicInterfaceWithPublicTypeParameters {
|
|
new <T extends publicClass>(): publicClass;
|
|
<T extends publicClass>(): publicClass;
|
|
myMethod<T extends publicClass>(): publicClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass;
|
|
<T extends privateClass>(): privateClass;
|
|
myMethod<T extends privateClass>(): privateClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPublicTypeParameters {
|
|
new <T extends publicClass>(): publicClass;
|
|
<T extends publicClass>(): publicClass;
|
|
myMethod<T extends publicClass>(): publicClass;
|
|
}
|
|
|
|
export class publicClassWithWithPrivateTypeParameters {
|
|
static myPublicStaticMethod<T extends privateClass>() { // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateClass'.
|
|
}
|
|
private static myPrivateStaticMethod<T extends privateClass>() {
|
|
}
|
|
myPublicMethod<T extends privateClass>() { // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateClass'.
|
|
}
|
|
private myPrivateMethod<T extends privateClass>() {
|
|
}
|
|
}
|
|
|
|
export class publicClassWithWithPublicTypeParameters {
|
|
static myPublicStaticMethod<T extends publicClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends publicClass>() {
|
|
}
|
|
myPublicMethod<T extends publicClass>() {
|
|
}
|
|
private myPrivateMethod<T extends publicClass>() {
|
|
}
|
|
}
|
|
|
|
class privateClassWithWithPrivateTypeParameters {
|
|
static myPublicStaticMethod<T extends privateClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends privateClass>() {
|
|
}
|
|
myPublicMethod<T extends privateClass>() {
|
|
}
|
|
private myPrivateMethod<T extends privateClass>() {
|
|
}
|
|
}
|
|
|
|
class privateClassWithWithPublicTypeParameters {
|
|
static myPublicStaticMethod<T extends publicClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends publicClass>() {
|
|
}
|
|
myPublicMethod<T extends publicClass>() {
|
|
}
|
|
private myPrivateMethod<T extends publicClass>() {
|
|
}
|
|
}
|
|
|
|
export function publicFunctionWithPrivateTypeParameters<T extends privateClass>() { // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4016: Type parameter 'T' of exported function has or is using private name 'privateClass'.
|
|
}
|
|
|
|
export function publicFunctionWithPublicTypeParameters<T extends publicClass>() {
|
|
}
|
|
|
|
function privateFunctionWithPrivateTypeParameters<T extends privateClass>() {
|
|
}
|
|
|
|
function privateFunctionWithPublicTypeParameters<T extends publicClass>() {
|
|
}
|
|
|
|
export interface publicInterfaceWithPublicTypeParametersWithoutExtends {
|
|
new <T>(): publicClass;
|
|
<T>(): publicClass;
|
|
myMethod<T>(): publicClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPublicTypeParametersWithoutExtends {
|
|
new <T>(): publicClass;
|
|
<T>(): publicClass;
|
|
myMethod<T>(): publicClass;
|
|
}
|
|
|
|
export class publicClassWithWithPublicTypeParametersWithoutExtends {
|
|
static myPublicStaticMethod<T>() {
|
|
}
|
|
private static myPrivateStaticMethod<T>() {
|
|
}
|
|
myPublicMethod<T>() {
|
|
}
|
|
private myPrivateMethod<T>() {
|
|
}
|
|
}
|
|
class privateClassWithWithPublicTypeParametersWithoutExtends {
|
|
static myPublicStaticMethod<T>() {
|
|
}
|
|
private static myPrivateStaticMethod<T>() {
|
|
}
|
|
myPublicMethod<T>() {
|
|
}
|
|
private myPrivateMethod<T>() {
|
|
}
|
|
}
|
|
|
|
export function publicFunctionWithPublicTypeParametersWithoutExtends<T>() {
|
|
}
|
|
|
|
function privateFunctionWithPublicTypeParametersWithoutExtends<T>() {
|
|
}
|
|
|
|
export interface publicInterfaceWithPrivatModuleTypeParameters {
|
|
new <T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateModule'.
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4047: Return type of call signature from exported interface has or is using private name 'privateModule'.
|
|
myMethod<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateModule'.
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4057: Return type of method from exported interface has or is using private name 'privateModule'.
|
|
}
|
|
export class publicClassWithWithPrivateModuleTypeParameters {
|
|
static myPublicStaticMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateModule'.
|
|
}
|
|
myPublicMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateModule'.
|
|
}
|
|
}
|
|
export function publicFunctionWithPrivateMopduleTypeParameters<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4016: Type parameter 'T' of exported function has or is using private name 'privateModule'.
|
|
}
|
|
|
|
|
|
interface privateInterfaceWithPrivatModuleTypeParameters {
|
|
new <T extends privateModule.publicClass>(): privateModule.publicClass;
|
|
<T extends privateModule.publicClass>(): privateModule.publicClass;
|
|
myMethod<T extends privateModule.publicClass>(): privateModule.publicClass;
|
|
}
|
|
class privateClassWithWithPrivateModuleTypeParameters {
|
|
static myPublicStaticMethod<T extends privateModule.publicClass>() {
|
|
}
|
|
myPublicMethod<T extends privateModule.publicClass>() {
|
|
}
|
|
}
|
|
function privateFunctionWithPrivateMopduleTypeParameters<T extends privateModule.publicClass>() {
|
|
}
|
|
|
|
|
|
export module publicModule {
|
|
class privateClass {
|
|
}
|
|
|
|
export class publicClass {
|
|
}
|
|
|
|
export interface publicInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~
|
|
!!! error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~
|
|
!!! error TS4047: Return type of call signature from exported interface has or is using private name 'privateClass'.
|
|
myMethod<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~
|
|
!!! error TS4057: Return type of method from exported interface has or is using private name 'privateClass'.
|
|
}
|
|
|
|
export interface publicInterfaceWithPublicTypeParameters {
|
|
new <T extends publicClass>(): publicClass;
|
|
<T extends publicClass>(): publicClass;
|
|
myMethod<T extends publicClass>(): publicClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass;
|
|
<T extends privateClass>(): privateClass;
|
|
myMethod<T extends privateClass>(): privateClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPublicTypeParameters {
|
|
new <T extends publicClass>(): publicClass;
|
|
<T extends publicClass>(): publicClass;
|
|
myMethod<T extends publicClass>(): publicClass;
|
|
}
|
|
|
|
export class publicClassWithWithPrivateTypeParameters {
|
|
static myPublicStaticMethod<T extends privateClass>() { // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateClass'.
|
|
}
|
|
private static myPrivateStaticMethod<T extends privateClass>() {
|
|
}
|
|
myPublicMethod<T extends privateClass>() { // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateClass'.
|
|
}
|
|
private myPrivateMethod<T extends privateClass>() {
|
|
}
|
|
}
|
|
|
|
export class publicClassWithWithPublicTypeParameters {
|
|
static myPublicStaticMethod<T extends publicClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends publicClass>() {
|
|
}
|
|
myPublicMethod<T extends publicClass>() {
|
|
}
|
|
private myPrivateMethod<T extends publicClass>() {
|
|
}
|
|
}
|
|
|
|
class privateClassWithWithPrivateTypeParameters {
|
|
static myPublicStaticMethod<T extends privateClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends privateClass>() {
|
|
}
|
|
myPublicMethod<T extends privateClass>() {
|
|
}
|
|
private myPrivateMethod<T extends privateClass>() {
|
|
}
|
|
}
|
|
|
|
class privateClassWithWithPublicTypeParameters {
|
|
static myPublicStaticMethod<T extends publicClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends publicClass>() {
|
|
}
|
|
myPublicMethod<T extends publicClass>() {
|
|
}
|
|
private myPrivateMethod<T extends publicClass>() {
|
|
}
|
|
}
|
|
|
|
export function publicFunctionWithPrivateTypeParameters<T extends privateClass>() { // Error
|
|
~~~~~~~~~~~~
|
|
!!! error TS4016: Type parameter 'T' of exported function has or is using private name 'privateClass'.
|
|
}
|
|
|
|
export function publicFunctionWithPublicTypeParameters<T extends publicClass>() {
|
|
}
|
|
|
|
function privateFunctionWithPrivateTypeParameters<T extends privateClass>() {
|
|
}
|
|
|
|
function privateFunctionWithPublicTypeParameters<T extends publicClass>() {
|
|
}
|
|
|
|
export interface publicInterfaceWithPublicTypeParametersWithoutExtends {
|
|
new <T>(): publicClass;
|
|
<T>(): publicClass;
|
|
myMethod<T>(): publicClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPublicTypeParametersWithoutExtends {
|
|
new <T>(): publicClass;
|
|
<T>(): publicClass;
|
|
myMethod<T>(): publicClass;
|
|
}
|
|
|
|
export class publicClassWithWithPublicTypeParametersWithoutExtends {
|
|
static myPublicStaticMethod<T>() {
|
|
}
|
|
private static myPrivateStaticMethod<T>() {
|
|
}
|
|
myPublicMethod<T>() {
|
|
}
|
|
private myPrivateMethod<T>() {
|
|
}
|
|
}
|
|
class privateClassWithWithPublicTypeParametersWithoutExtends {
|
|
static myPublicStaticMethod<T>() {
|
|
}
|
|
private static myPrivateStaticMethod<T>() {
|
|
}
|
|
myPublicMethod<T>() {
|
|
}
|
|
private myPrivateMethod<T>() {
|
|
}
|
|
}
|
|
|
|
export function publicFunctionWithPublicTypeParametersWithoutExtends<T>() {
|
|
}
|
|
|
|
function privateFunctionWithPublicTypeParametersWithoutExtends<T>() {
|
|
}
|
|
|
|
export interface publicInterfaceWithPrivatModuleTypeParameters {
|
|
new <T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateModule'.
|
|
<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateModule'.
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4047: Return type of call signature from exported interface has or is using private name 'privateModule'.
|
|
myMethod<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4014: Type parameter 'T' of method from exported interface has or is using private name 'privateModule'.
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4057: Return type of method from exported interface has or is using private name 'privateModule'.
|
|
}
|
|
export class publicClassWithWithPrivateModuleTypeParameters {
|
|
static myPublicStaticMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4010: Type parameter 'T' of public static method from exported class has or is using private name 'privateModule'.
|
|
}
|
|
myPublicMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4012: Type parameter 'T' of public method from exported class has or is using private name 'privateModule'.
|
|
}
|
|
}
|
|
export function publicFunctionWithPrivateMopduleTypeParameters<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~
|
|
!!! error TS4016: Type parameter 'T' of exported function has or is using private name 'privateModule'.
|
|
}
|
|
|
|
|
|
interface privateInterfaceWithPrivatModuleTypeParameters {
|
|
new <T extends privateModule.publicClass>(): privateModule.publicClass;
|
|
<T extends privateModule.publicClass>(): privateModule.publicClass;
|
|
myMethod<T extends privateModule.publicClass>(): privateModule.publicClass;
|
|
}
|
|
class privateClassWithWithPrivateModuleTypeParameters {
|
|
static myPublicStaticMethod<T extends privateModule.publicClass>() {
|
|
}
|
|
myPublicMethod<T extends privateModule.publicClass>() {
|
|
}
|
|
}
|
|
function privateFunctionWithPrivateMopduleTypeParameters<T extends privateModule.publicClass>() {
|
|
}
|
|
|
|
}
|
|
|
|
module privateModule {
|
|
class privateClass {
|
|
}
|
|
|
|
export class publicClass {
|
|
}
|
|
|
|
export interface publicInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass;
|
|
<T extends privateClass>(): privateClass;
|
|
myMethod<T extends privateClass>(): privateClass;
|
|
}
|
|
|
|
export interface publicInterfaceWithPublicTypeParameters {
|
|
new <T extends publicClass>(): publicClass;
|
|
<T extends publicClass>(): publicClass;
|
|
myMethod<T extends publicClass>(): publicClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass;
|
|
<T extends privateClass>(): privateClass;
|
|
myMethod<T extends privateClass>(): privateClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPublicTypeParameters {
|
|
new <T extends publicClass>(): publicClass;
|
|
<T extends publicClass>(): publicClass;
|
|
myMethod<T extends publicClass>(): publicClass;
|
|
}
|
|
|
|
export class publicClassWithWithPrivateTypeParameters {
|
|
static myPublicStaticMethod<T extends privateClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends privateClass>() {
|
|
}
|
|
myPublicMethod<T extends privateClass>() {
|
|
}
|
|
private myPrivateMethod<T extends privateClass>() {
|
|
}
|
|
}
|
|
|
|
export class publicClassWithWithPublicTypeParameters {
|
|
static myPublicStaticMethod<T extends publicClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends publicClass>() {
|
|
}
|
|
myPublicMethod<T extends publicClass>() {
|
|
}
|
|
private myPrivateMethod<T extends publicClass>() {
|
|
}
|
|
}
|
|
|
|
class privateClassWithWithPrivateTypeParameters {
|
|
static myPublicStaticMethod<T extends privateClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends privateClass>() {
|
|
}
|
|
myPublicMethod<T extends privateClass>() {
|
|
}
|
|
private myPrivateMethod<T extends privateClass>() {
|
|
}
|
|
}
|
|
|
|
class privateClassWithWithPublicTypeParameters {
|
|
static myPublicStaticMethod<T extends publicClass>() {
|
|
}
|
|
private static myPrivateStaticMethod<T extends publicClass>() {
|
|
}
|
|
myPublicMethod<T extends publicClass>() {
|
|
}
|
|
private myPrivateMethod<T extends publicClass>() {
|
|
}
|
|
}
|
|
|
|
export function publicFunctionWithPrivateTypeParameters<T extends privateClass>() {
|
|
}
|
|
|
|
export function publicFunctionWithPublicTypeParameters<T extends publicClass>() {
|
|
}
|
|
|
|
function privateFunctionWithPrivateTypeParameters<T extends privateClass>() {
|
|
}
|
|
|
|
function privateFunctionWithPublicTypeParameters<T extends publicClass>() {
|
|
}
|
|
|
|
export interface publicInterfaceWithPublicTypeParametersWithoutExtends {
|
|
new <T>(): publicClass;
|
|
<T>(): publicClass;
|
|
myMethod<T>(): publicClass;
|
|
}
|
|
|
|
interface privateInterfaceWithPublicTypeParametersWithoutExtends {
|
|
new <T>(): publicClass;
|
|
<T>(): publicClass;
|
|
myMethod<T>(): publicClass;
|
|
}
|
|
|
|
export class publicClassWithWithPublicTypeParametersWithoutExtends {
|
|
static myPublicStaticMethod<T>() {
|
|
}
|
|
private static myPrivateStaticMethod<T>() {
|
|
}
|
|
myPublicMethod<T>() {
|
|
}
|
|
private myPrivateMethod<T>() {
|
|
}
|
|
}
|
|
class privateClassWithWithPublicTypeParametersWithoutExtends {
|
|
static myPublicStaticMethod<T>() {
|
|
}
|
|
private static myPrivateStaticMethod<T>() {
|
|
}
|
|
myPublicMethod<T>() {
|
|
}
|
|
private myPrivateMethod<T>() {
|
|
}
|
|
}
|
|
|
|
export function publicFunctionWithPublicTypeParametersWithoutExtends<T>() {
|
|
}
|
|
|
|
function privateFunctionWithPublicTypeParametersWithoutExtends<T>() {
|
|
}
|
|
} |