TypeScript/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.errors.txt
2014-08-06 17:58:03 -07:00

511 lines
22 KiB
Plaintext

==== tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts (36 errors) ====
class privateClass {
}
export class publicClass {
}
export interface publicInterfaceWithPrivateTypeParameters {
new <T extends privateClass>(): privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'.
~~~~~~~~~~~~~~~~~~~~~~
!!! Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
<T extends privateClass>(): privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of call signature from exported interface has or is using private name 'privateClass'.
~~~~~~~~~~~~~~~~~~~~~~
!!! Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
myMethod<T extends privateClass>(): privateClass; // Error
~~~~~~~~
!!! Return type of method from exported interface has or is using private name 'privateClass'.
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~
!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'.
~~~~~~~~~~~~~~~~~~~~~~
!!! Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'.
<T extends privateClass>(): privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of call signature from exported interface has or is using private name 'privateClass'.
~~~~~~~~~~~~~~~~~~~~~~
!!! Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'.
myMethod<T extends privateClass>(): privateClass; // Error
~~~~~~~~
!!! Return type of method from exported interface has or is using private name 'privateClass'.
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~
!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! 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>() {
}
}