95 lines
3.5 KiB
TypeScript
95 lines
3.5 KiB
TypeScript
|
// @module: commonjs
|
||
|
// @declaration: true
|
||
|
|
||
|
// @Filename: privacyClassImplementsClauseDeclFile_externalModule.ts
|
||
|
export module publicModule {
|
||
|
export interface publicInterfaceInPublicModule {
|
||
|
}
|
||
|
|
||
|
interface privateInterfaceInPublicModule {
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingPublicInterfaceInModule implements publicInterfaceInPublicModule {
|
||
|
}
|
||
|
class privateClassImplementingPrivateInterfaceInModule implements privateInterfaceInPublicModule {
|
||
|
}
|
||
|
export class publicClassImplementingPublicInterfaceInModule implements publicInterfaceInPublicModule {
|
||
|
}
|
||
|
export class publicClassImplementingPrivateInterfaceInModule implements privateInterfaceInPublicModule { // Should error
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingFromPrivateModuleInterface implements privateModule.publicInterfaceInPrivateModule {
|
||
|
}
|
||
|
export class publicClassImplementingFromPrivateModuleInterface implements privateModule.publicInterfaceInPrivateModule { // Should error
|
||
|
}
|
||
|
|
||
|
export class publicClassImplementingPrivateAndPublicInterface implements privateInterfaceInPublicModule, publicInterfaceInPublicModule { // Should error
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module privateModule {
|
||
|
export interface publicInterfaceInPrivateModule {
|
||
|
|
||
|
}
|
||
|
|
||
|
interface privateInterfaceInPrivateModule {
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingPublicInterfaceInModule implements publicInterfaceInPrivateModule {
|
||
|
}
|
||
|
class privateClassImplementingPrivateInterfaceInModule implements privateInterfaceInPrivateModule {
|
||
|
}
|
||
|
export class publicClassImplementingPublicInterfaceInModule implements publicInterfaceInPrivateModule {
|
||
|
}
|
||
|
export class publicClassImplementingPrivateInterfaceInModule implements privateInterfaceInPrivateModule {
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingFromPrivateModuleInterface implements privateModule.publicInterfaceInPrivateModule {
|
||
|
}
|
||
|
export class publicClassImplementingFromPrivateModuleInterface implements privateModule.publicInterfaceInPrivateModule {
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export interface publicInterface {
|
||
|
|
||
|
}
|
||
|
|
||
|
interface privateInterface {
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingPublicInterface implements publicInterface {
|
||
|
}
|
||
|
class privateClassImplementingPrivateInterfaceInModule implements privateInterface {
|
||
|
}
|
||
|
export class publicClassImplementingPublicInterface implements publicInterface {
|
||
|
}
|
||
|
export class publicClassImplementingPrivateInterface implements privateInterface { // Should error
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingFromPrivateModuleInterface implements privateModule.publicInterfaceInPrivateModule {
|
||
|
}
|
||
|
export class publicClassImplementingFromPrivateModuleInterface implements privateModule.publicInterfaceInPrivateModule { // Should error
|
||
|
}
|
||
|
|
||
|
// @Filename: privacyClassImplementsClauseDeclFile_GlobalFile.ts
|
||
|
module publicModuleInGlobal {
|
||
|
export interface publicInterfaceInPublicModule {
|
||
|
}
|
||
|
|
||
|
interface privateInterfaceInPublicModule {
|
||
|
}
|
||
|
|
||
|
class privateClassImplementingPublicInterfaceInModule implements publicInterfaceInPublicModule {
|
||
|
}
|
||
|
class privateClassImplementingPrivateInterfaceInModule implements privateInterfaceInPublicModule {
|
||
|
}
|
||
|
export class publicClassImplementingPublicInterfaceInModule implements publicInterfaceInPublicModule {
|
||
|
}
|
||
|
export class publicClassImplementingPrivateInterfaceInModule implements privateInterfaceInPublicModule { // Should error
|
||
|
}
|
||
|
}
|
||
|
interface publicInterfaceInGlobal {
|
||
|
}
|
||
|
class publicClassImplementingPublicInterfaceInGlobal implements publicInterfaceInGlobal {
|
||
|
}
|