2014-08-07 00:17:44 +02:00
==== tests/cases/compiler/privacyVarDeclFile_externalModule.ts (20 errors) ====
class privateClass {
}
export class publicClass {
}
export interface publicInterfaceWithPrivatePropertyTypes {
myProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4033: Property 'myProperty' of exported interface has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
}
export interface publicInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
interface privateInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
interface privateInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4028: Public static property 'myPublicStaticProperty' of exported class has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4031: Public property 'myPublicProperty' of exported class has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
private myPrivateProperty: privateClass;
}
export class publicClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
class privateClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
class privateClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
export var publicVarWithPrivatePropertyTypes: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4025: Exported variable 'publicVarWithPrivatePropertyTypes' has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
export var publicVarWithPublicPropertyTypes: publicClass;
var privateVarWithPrivatePropertyTypes: privateClass;
var privateVarWithPublicPropertyTypes: publicClass;
export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4025: Exported variable 'publicAmbientVarWithPrivatePropertyTypes' has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
export declare var publicAmbientVarWithPublicPropertyTypes: publicClass;
declare var privateAmbientVarWithPrivatePropertyTypes: privateClass;
declare var privateAmbientVarWithPublicPropertyTypes: publicClass;
export interface publicInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4032: Property 'myProperty' of exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
}
export class publicClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4027: Public static property 'myPublicStaticProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
myPublicProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4030: Public property 'myPublicProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
}
export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4024: Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4024: Exported variable 'publicAmbientVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
interface privateInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
class privateClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass;
declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
export module publicModule {
class privateClass {
}
export class publicClass {
}
export interface publicInterfaceWithPrivatePropertyTypes {
myProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4033: Property 'myProperty' of exported interface has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
}
export interface publicInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
interface privateInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
interface privateInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4028: Public static property 'myPublicStaticProperty' of exported class has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4031: Public property 'myPublicProperty' of exported class has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
private myPrivateProperty: privateClass;
}
export class publicClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
class privateClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
class privateClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
export var publicVarWithPrivatePropertyTypes: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4025: Exported variable 'publicVarWithPrivatePropertyTypes' has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
export var publicVarWithPublicPropertyTypes: publicClass;
var privateVarWithPrivatePropertyTypes: privateClass;
var privateVarWithPublicPropertyTypes: publicClass;
export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4025: Exported variable 'publicAmbientVarWithPrivatePropertyTypes' has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
export declare var publicAmbientVarWithPublicPropertyTypes: publicClass;
declare var privateAmbientVarWithPrivatePropertyTypes: privateClass;
declare var privateAmbientVarWithPublicPropertyTypes: publicClass;
export interface publicInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4032: Property 'myProperty' of exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
}
export class publicClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4027: Public static property 'myPublicStaticProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
myPublicProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4030: Public property 'myPublicProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
}
export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4024: Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4024: Exported variable 'publicAmbientVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
interface privateInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
class privateClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass;
declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
}
module privateModule {
class privateClass {
}
export class publicClass {
}
export interface publicInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
export interface publicInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
interface privateInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
interface privateInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
export class publicClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
class privateClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
class privateClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
export var publicVarWithPrivatePropertyTypes: privateClass;
export var publicVarWithPublicPropertyTypes: publicClass;
var privateVarWithPrivatePropertyTypes: privateClass;
var privateVarWithPublicPropertyTypes: publicClass;
export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass;
export declare var publicAmbientVarWithPublicPropertyTypes: publicClass;
declare var privateAmbientVarWithPrivatePropertyTypes: privateClass;
declare var privateAmbientVarWithPublicPropertyTypes: publicClass;
export interface publicInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
export class publicClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass;
export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
interface privateInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
class privateClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass;
declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
}
==== tests/cases/compiler/privacyVarDeclFile_GlobalFile.ts (10 errors) ====
class publicClassInGlobal {
}
interface publicInterfaceWithPublicPropertyTypesInGlobal {
myProperty: publicClassInGlobal;
}
class publicClassWithWithPublicPropertyTypesInGlobal {
static myPublicStaticProperty: publicClassInGlobal;
private static myPrivateStaticProperty: publicClassInGlobal;
myPublicProperty: publicClassInGlobal;
private myPrivateProperty: publicClassInGlobal;
}
var publicVarWithPublicPropertyTypesInGlobal: publicClassInGlobal;
declare var publicAmbientVarWithPublicPropertyTypesInGlobal: publicClassInGlobal;
module publicModuleInGlobal {
class privateClass {
}
export class publicClass {
}
module privateModule {
class privateClass {
}
export class publicClass {
}
export interface publicInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
export interface publicInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
interface privateInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
interface privateInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
export class publicClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
class privateClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
class privateClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
export var publicVarWithPrivatePropertyTypes: privateClass;
export var publicVarWithPublicPropertyTypes: publicClass;
var privateVarWithPrivatePropertyTypes: privateClass;
var privateVarWithPublicPropertyTypes: publicClass;
export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass;
export declare var publicAmbientVarWithPublicPropertyTypes: publicClass;
declare var privateAmbientVarWithPrivatePropertyTypes: privateClass;
declare var privateAmbientVarWithPublicPropertyTypes: publicClass;
export interface publicInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
export class publicClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass;
export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
interface privateInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
class privateClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass;
declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
}
export interface publicInterfaceWithPrivatePropertyTypes {
myProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4033: Property 'myProperty' of exported interface has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
}
export interface publicInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
interface privateInterfaceWithPrivatePropertyTypes {
myProperty: privateClass;
}
interface privateInterfaceWithPublicPropertyTypes {
myProperty: publicClass;
}
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4028: Public static property 'myPublicStaticProperty' of exported class has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4031: Public property 'myPublicProperty' of exported class has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
private myPrivateProperty: privateClass;
}
export class publicClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
class privateClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty: privateClass;
private static myPrivateStaticProperty: privateClass;
myPublicProperty: privateClass;
private myPrivateProperty: privateClass;
}
class privateClassWithWithPublicPropertyTypes {
static myPublicStaticProperty: publicClass;
private static myPrivateStaticProperty: publicClass;
myPublicProperty: publicClass;
private myPrivateProperty: publicClass;
}
export var publicVarWithPrivatePropertyTypes: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4025: Exported variable 'publicVarWithPrivatePropertyTypes' has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
export var publicVarWithPublicPropertyTypes: publicClass;
var privateVarWithPrivatePropertyTypes: privateClass;
var privateVarWithPublicPropertyTypes: publicClass;
export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4025: Exported variable 'publicAmbientVarWithPrivatePropertyTypes' has or is using private name 'privateClass'.
2014-08-07 00:17:44 +02:00
export declare var publicAmbientVarWithPublicPropertyTypes: publicClass;
declare var privateAmbientVarWithPrivatePropertyTypes: privateClass;
declare var privateAmbientVarWithPublicPropertyTypes: publicClass;
export interface publicInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4032: Property 'myProperty' of exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
}
export class publicClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4027: Public static property 'myPublicStaticProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
myPublicProperty: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4030: Public property 'myPublicProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
}
export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4024: Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS4024: Exported variable 'publicAmbientVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'.
2014-08-07 00:17:44 +02:00
interface privateInterfaceWithPrivateModulePropertyTypes {
myProperty: privateModule.publicClass;
}
class privateClassWithPrivateModulePropertyTypes {
static myPublicStaticProperty: privateModule.publicClass;
myPublicProperty: privateModule.publicClass;
}
var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass;
declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass;
}