TypeScript/tests/baselines/reference/privacyTypeParametersOfInterfaceDeclFile.js

266 lines
9.6 KiB
JavaScript

//// [privacyTypeParametersOfInterfaceDeclFile.ts]
class privateClass {
}
export class publicClass {
}
class privateClassT<T> {
}
export class publicClassT<T> {
}
export interface publicInterfaceWithPrivateTypeParameters<T extends privateClass> { // Error
myMethod(val: T): T;
myMethod0(): publicClassT<T>;
myMethod1(): privateClassT<privateClass>;
myMethod2(): privateClassT<publicClass>;
myMethod3(): publicClassT<privateClass>;
myMethod4(): publicClassT<publicClass>;
}
export interface publicInterfaceWithPublicTypeParameters<T extends publicClass> {
myMethod(val: T): T;
myMethod0(): publicClassT<T>
myMethod1(): privateClassT<privateClass>;
myMethod2(): privateClassT<publicClass>;
myMethod3(): publicClassT<privateClass>;
myMethod4(): publicClassT<publicClass>;
}
interface privateInterfaceWithPrivateTypeParameters<T extends privateClass> {
myMethod(val: T): T;
myMethod0(): publicClassT<T>;
myMethod1(): privateClassT<privateClass>;
myMethod2(): privateClassT<publicClass>;
myMethod3(): publicClassT<privateClass>;
myMethod4(): publicClassT<publicClass>;
}
interface privateInterfaceWithPublicTypeParameters<T extends publicClass> {
myMethod(val: T): T;
myMethod0(): publicClassT<T>;
myMethod1(): privateClassT<privateClass>;
myMethod2(): privateClassT<publicClass>;
myMethod3(): publicClassT<privateClass>;
myMethod4(): publicClassT<publicClass>;
}
export interface publicInterfaceWithPublicTypeParametersWithoutExtends<T> {
myMethod(val: T): T;
myMethod0(): publicClassT<T>;
}
interface privateInterfaceWithPublicTypeParametersWithoutExtends<T> {
myMethod(val: T): T;
myMethod0(): publicClassT<T>;
}
export interface publicInterfaceWithPrivateModuleTypeParameterConstraints<T extends privateModule.publicClassInPrivateModule> { // Error
}
interface privateInterfaceWithPrivateModuleTypeParameterConstraints<T extends privateModule.publicClassInPrivateModule> { // Error
}
export module publicModule {
class privateClassInPublicModule {
}
export class publicClassInPublicModule {
}
class privateClassInPublicModuleT<T> {
}
export class publicClassInPublicModuleT<T> {
}
export interface publicInterfaceWithPrivateTypeParameters<T extends privateClassInPublicModule> { // Error
myMethod(val: T): T;
myMethod0(): publicClassInPublicModuleT<T>;
myMethod1(): privateClassInPublicModuleT<privateClassInPublicModule>;
myMethod2(): privateClassInPublicModuleT<publicClassInPublicModule>;
myMethod3(): publicClassInPublicModuleT<privateClassInPublicModule>;
myMethod4(): publicClassInPublicModuleT<publicClassInPublicModule>;
}
export interface publicInterfaceWithPublicTypeParameters<T extends publicClassInPublicModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPublicModuleT<T>
myMethod1(): privateClassInPublicModuleT<privateClassInPublicModule>;
myMethod2(): privateClassInPublicModuleT<publicClassInPublicModule>;
myMethod3(): publicClassInPublicModuleT<privateClassInPublicModule>;
myMethod4(): publicClassInPublicModuleT<publicClassInPublicModule>;
}
interface privateInterfaceWithPrivateTypeParameters<T extends privateClassInPublicModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPublicModuleT<T>;
myMethod1(): privateClassInPublicModuleT<privateClassInPublicModule>;
myMethod2(): privateClassInPublicModuleT<publicClassInPublicModule>;
myMethod3(): publicClassInPublicModuleT<privateClassInPublicModule>;
myMethod4(): publicClassInPublicModuleT<publicClassInPublicModule>;
}
interface privateInterfaceWithPublicTypeParameters<T extends publicClassInPublicModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPublicModuleT<T>;
myMethod1(): privateClassInPublicModuleT<privateClassInPublicModule>;
myMethod2(): privateClassInPublicModuleT<publicClassInPublicModule>;
myMethod3(): publicClassInPublicModuleT<privateClassInPublicModule>;
myMethod4(): publicClassInPublicModuleT<publicClassInPublicModule>;
}
export interface publicInterfaceWithPublicTypeParametersWithoutExtends<T> {
myMethod(val: T): T;
myMethod0(): publicClassInPublicModuleT<T>;
}
interface privateInterfaceWithPublicTypeParametersWithoutExtends<T> {
myMethod(val: T): T;
myMethod0(): publicClassInPublicModuleT<T>;
}
export interface publicInterfaceWithPrivateModuleTypeParameterConstraints<T extends privateModule.publicClassInPrivateModule> { // Error
}
interface privateInterfaceWithPrivateModuleTypeParameterConstraints<T extends privateModule.publicClassInPrivateModule> { // Error
}
}
module privateModule {
class privateClassInPrivateModule {
}
export class publicClassInPrivateModule {
}
class privateClassInPrivateModuleT<T> {
}
export class publicClassInPrivateModuleT<T> {
}
export interface publicInterfaceWithPrivateTypeParameters<T extends privateClassInPrivateModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPrivateModuleT<T>;
myMethod1(): privateClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod2(): privateClassInPrivateModuleT<publicClassInPrivateModule>;
myMethod3(): publicClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod4(): publicClassInPrivateModuleT<publicClassInPrivateModule>;
}
export interface publicInterfaceWithPublicTypeParameters<T extends publicClassInPrivateModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPrivateModuleT<T>
myMethod1(): privateClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod2(): privateClassInPrivateModuleT<publicClassInPrivateModule>;
myMethod3(): publicClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod4(): publicClassInPrivateModuleT<publicClassInPrivateModule>;
}
interface privateInterfaceWithPrivateTypeParameters<T extends privateClassInPrivateModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPrivateModuleT<T>;
myMethod1(): privateClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod2(): privateClassInPrivateModuleT<publicClassInPrivateModule>;
myMethod3(): publicClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod4(): publicClassInPrivateModuleT<publicClassInPrivateModule>;
}
interface privateInterfaceWithPublicTypeParameters<T extends publicClassInPrivateModule> {
myMethod(val: T): T;
myMethod0(): publicClassInPrivateModuleT<T>;
myMethod1(): privateClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod2(): privateClassInPrivateModuleT<publicClassInPrivateModule>;
myMethod3(): publicClassInPrivateModuleT<privateClassInPrivateModule>;
myMethod4(): publicClassInPrivateModuleT<publicClassInPrivateModule>;
}
export interface publicInterfaceWithPublicTypeParametersWithoutExtends<T> {
myMethod(val: T): T;
myMethod0(): publicClassInPrivateModuleT<T>;
}
interface privateInterfaceWithPublicTypeParametersWithoutExtends<T> {
myMethod(val: T): T;
myMethod0(): publicClassInPrivateModuleT<T>;
}
}
//// [privacyTypeParametersOfInterfaceDeclFile.js]
var privateClass = (function () {
function privateClass() {
}
return privateClass;
})();
var publicClass = (function () {
function publicClass() {
}
return publicClass;
})();
exports.publicClass = publicClass;
var privateClassT = (function () {
function privateClassT() {
}
return privateClassT;
})();
var publicClassT = (function () {
function publicClassT() {
}
return publicClassT;
})();
exports.publicClassT = publicClassT;
(function (publicModule) {
var privateClassInPublicModule = (function () {
function privateClassInPublicModule() {
}
return privateClassInPublicModule;
})();
var publicClassInPublicModule = (function () {
function publicClassInPublicModule() {
}
return publicClassInPublicModule;
})();
publicModule.publicClassInPublicModule = publicClassInPublicModule;
var privateClassInPublicModuleT = (function () {
function privateClassInPublicModuleT() {
}
return privateClassInPublicModuleT;
})();
var publicClassInPublicModuleT = (function () {
function publicClassInPublicModuleT() {
}
return publicClassInPublicModuleT;
})();
publicModule.publicClassInPublicModuleT = publicClassInPublicModuleT;
})(exports.publicModule || (exports.publicModule = {}));
var publicModule = exports.publicModule;
var privateModule;
(function (privateModule) {
var privateClassInPrivateModule = (function () {
function privateClassInPrivateModule() {
}
return privateClassInPrivateModule;
})();
var publicClassInPrivateModule = (function () {
function publicClassInPrivateModule() {
}
return publicClassInPrivateModule;
})();
privateModule.publicClassInPrivateModule = publicClassInPrivateModule;
var privateClassInPrivateModuleT = (function () {
function privateClassInPrivateModuleT() {
}
return privateClassInPrivateModuleT;
})();
var publicClassInPrivateModuleT = (function () {
function publicClassInPrivateModuleT() {
}
return publicClassInPrivateModuleT;
})();
privateModule.publicClassInPrivateModuleT = publicClassInPrivateModuleT;
})(privateModule || (privateModule = {}));