2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/privacyTypeParametersOfClass.ts (1 errors) ====
|
|
|
|
class privateClass {
|
|
|
|
}
|
|
|
|
|
|
|
|
export class publicClass {
|
2014-07-19 02:30:06 +02:00
|
|
|
~~~~~~~~~~~
|
2014-07-13 01:04:16 +02:00
|
|
|
!!! Cannot compile external modules unless the '--module' flag is provided.
|
2014-07-19 02:30:06 +02:00
|
|
|
}
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
// TypeParameter_0_of_exported_class_1_has_or_is_using_private_type_2
|
|
|
|
export class publicClassWithPrivateTypeParameters<T extends privateClass> {
|
|
|
|
myMethod(val: T): T { // Error
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export class publicClassWithPublicTypeParameters<T extends publicClass> {
|
|
|
|
myMethod(val: T): T { // No Error
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class privateClassWithPrivateTypeParameters<T extends privateClass> {
|
|
|
|
myMethod(val: T): T { // No Error
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class privateClassWithPublicTypeParameters<T extends publicClass> {
|
|
|
|
myMethod(val: T): T { // No Error
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export class publicClassWithPublicTypeParametersWithoutExtends<T> {
|
|
|
|
myMethod(val: T): T { // No Error
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class privateClassWithPublicTypeParametersWithoutExtends<T> {
|
|
|
|
myMethod(val: T): T { // No Error
|
|
|
|
return val;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|