511 lines
23 KiB
Plaintext
511 lines
23 KiB
Plaintext
==== tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts (36 errors) ====
|
|
class privateClass {
|
|
}
|
|
|
|
export class publicClass {
|
|
}
|
|
|
|
export interface publicInterfaceWithPrivateTypeParameters {
|
|
new <T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4045: Return type of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4047: Return type of call signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
|
|
myMethod<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~
|
|
!!! error TS4057: Return type of method from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4014: Type parameter 'T' 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 TS4044: Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4005: Type parameter 'T' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4046: Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4007: Type parameter 'T' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
myMethod<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~
|
|
!!! error TS4056: Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4013: Type parameter 'T' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
}
|
|
export class publicClassWithWithPrivateModuleTypeParameters {
|
|
static myPublicStaticMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4009: Type parameter 'T' of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
}
|
|
myPublicMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4011: Type parameter 'T' of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
}
|
|
}
|
|
export function publicFunctionWithPrivateMopduleTypeParameters<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4015: Type parameter 'T' of exported function has or is using name 'privateModule.publicClass' from private module '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 TS4045: Return type of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4006: Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
|
|
<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4047: Return type of call signature from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4008: Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
|
|
myMethod<T extends privateClass>(): privateClass; // Error
|
|
~~~~~~~~
|
|
!!! error TS4057: Return type of method from exported interface has or is using private name 'privateClass'.
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4014: Type parameter 'T' 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 TS4044: Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4005: Type parameter 'T' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4046: Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4007: Type parameter 'T' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
myMethod<T extends privateModule.publicClass>(): privateModule.publicClass; // Error
|
|
~~~~~~~~
|
|
!!! error TS4056: Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4013: Type parameter 'T' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
}
|
|
export class publicClassWithWithPrivateModuleTypeParameters {
|
|
static myPublicStaticMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4009: Type parameter 'T' of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
}
|
|
myPublicMethod<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4011: Type parameter 'T' of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
|
|
}
|
|
}
|
|
export function publicFunctionWithPrivateMopduleTypeParameters<T extends privateModule.publicClass>() { // Error
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
!!! error TS4015: Type parameter 'T' of exported function has or is using name 'privateModule.publicClass' from private module '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>() {
|
|
}
|
|
} |