Removing bug numbers from the testcases which are fixed and adding declaration generation in few testcases

This commit is contained in:
Sheetal Nandi 2014-08-07 14:47:49 -07:00
parent 4801c3447f
commit cac18738df
64 changed files with 3347 additions and 878 deletions

View file

@ -9,3 +9,21 @@ module M {
var M;
(function (M) {
})(M || (M = {}));
//// [aliasInaccessibleModule.d.ts]
declare module M {
export import X = N;
}
//// [DtsFileErrors]
==== tests/cases/compiler/aliasInaccessibleModule.d.ts (1 errors) ====
declare module M {
export import X = N;
~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'N'.
}

View file

@ -23,3 +23,21 @@ var M;
var R = N;
M.X = R;
})(M || (M = {}));
//// [aliasInaccessibleModule2.d.ts]
declare module M {
export import X = R;
}
//// [DtsFileErrors]
==== tests/cases/compiler/aliasInaccessibleModule2.d.ts (1 errors) ====
declare module M {
export import X = R;
~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'R'.
}

View file

@ -1,30 +0,0 @@
==== tests/cases/compiler/aliasUsage1_main.ts (2 errors) ====
import Backbone = require("aliasUsage1_backbone");
import moduleA = require("aliasUsage1_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
class C2 {
x: IHasVisualizationModel;
get A() {
~
!!! Accessors are only available when targeting ECMAScript 5 and higher.
return this.x;
}
set A(x) {
~
!!! Accessors are only available when targeting ECMAScript 5 and higher.
x = moduleA;
}
}
==== tests/cases/compiler/aliasUsage1_backbone.ts (0 errors) ====
export class Model {
public someData: string;
}
==== tests/cases/compiler/aliasUsage1_moduleA.ts (0 errors) ====
import Backbone = require("aliasUsage1_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}

View file

@ -0,0 +1,69 @@
//// [tests/cases/compiler/aliasUsageInAccessorsOfClass.ts] ////
//// [aliasUsage1_backbone.ts]
export class Model {
public someData: string;
}
//// [aliasUsage1_moduleA.ts]
import Backbone = require("aliasUsage1_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsage1_main.ts]
import Backbone = require("aliasUsage1_backbone");
import moduleA = require("aliasUsage1_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
class C2 {
x: IHasVisualizationModel;
get A() {
return this.x;
}
set A(x) {
x = moduleA;
}
}
//// [aliasUsage1_backbone.js]
var Model = (function () {
function Model() {
}
return Model;
})();
exports.Model = Model;
//// [aliasUsage1_moduleA.js]
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var Backbone = require("aliasUsage1_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
_super.apply(this, arguments);
}
return VisualizationModel;
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsage1_main.js]
var moduleA = require("aliasUsage1_moduleA");
var C2 = (function () {
function C2() {
}
Object.defineProperty(C2.prototype, "A", {
get: function () {
return this.x;
},
set: function (x) {
x = moduleA;
},
enumerable: true,
configurable: true
});
return C2;
})();

View file

@ -20,3 +20,24 @@ declare module "MainModule" {
//// [cyclicModuleImport.js]
//// [cyclicModuleImport.d.ts]
declare module "SubModule" {
import MainModule = require('MainModule');
class SubModule {
static StaticVar: number;
InstanceVar: number;
main: MainModule;
constructor();
}
export = SubModule;
}
declare module "MainModule" {
import SubModule = require('SubModule');
class MainModule {
SubModule: SubModule;
constructor();
}
export = MainModule;
}

View file

@ -1,5 +1,4 @@
//// [declarationEmit_nameConflictsWithAlias.ts]
// Bug 887180
export module C { export interface I { } }
export import v = C;
export module M {

View file

@ -1,83 +0,0 @@
==== tests/cases/compiler/importDecl_1.ts (1 errors) ====
///<reference path='importDecl_require.ts'/>
///<reference path='importDecl_require1.ts'/>
///<reference path='importDecl_require2.ts'/>
///<reference path='importDecl_require3.ts'/>
///<reference path='importDecl_require4.ts'/>
import m4 = require("importDecl_require"); // Emit used
export var x4 = m4.x;
export var d4 = m4.d;
export var f4 = m4.foo();
export module m1 {
export var x2 = m4.x;
export var d2 = m4.d;
export var f2 = m4.foo();
var x3 = m4.x;
var d3 = m4.d;
var f3 = m4.foo();
}
//Emit global only usage
import glo_m4 = require("importDecl_require1");
export var useGlo_m4_x4 = glo_m4.x;
~
!!! Property 'x' does not exist on type 'typeof "tests/cases/compiler/importDecl_require1"'.
export var useGlo_m4_d4 = glo_m4.d;
export var useGlo_m4_f4 = glo_m4.foo();
//Emit even when used just in function type
import fncOnly_m4 = require("importDecl_require2");
export var useFncOnly_m4_f4 = fncOnly_m4.foo();
// only used privately no need to emit
import private_m4 = require("importDecl_require3");
export module usePrivate_m4_m1 {
var x3 = private_m4.x;
var d3 = private_m4.d;
var f3 = private_m4.foo();
}
// Do not emit unused import
import m5 = require("importDecl_require4");
export var d = m5.foo2();
// Do not emit multiple used import statements
import multiImport_m4 = require("importDecl_require"); // Emit used
export var useMultiImport_m4_x4 = multiImport_m4.x;
export var useMultiImport_m4_d4 = multiImport_m4.d;
export var useMultiImport_m4_f4 = multiImport_m4.foo();
==== tests/cases/compiler/importDecl_require.ts (0 errors) ====
export class d {
foo: string;
}
export var x: d;
export function foo(): d { return null; }
==== tests/cases/compiler/importDecl_require1.ts (0 errors) ====
export class d {
bar: string;
}
var x: d;
export function foo(): d { return null; }
==== tests/cases/compiler/importDecl_require2.ts (0 errors) ====
export class d {
baz: string;
}
export var x: d;
export function foo(): d { return null; }
==== tests/cases/compiler/importDecl_require3.ts (0 errors) ====
export class d {
bing: string;
}
export var x: d;
export function foo(): d { return null; }
==== tests/cases/compiler/importDecl_require4.ts (0 errors) ====
import m4 = require("importDecl_require");
export function foo2(): m4.d { return null; }

View file

@ -55,7 +55,6 @@ export module m1 {
//Emit global only usage
import glo_m4 = require("importDecl_require1");
export var useGlo_m4_x4 = glo_m4.x;
export var useGlo_m4_d4 = glo_m4.d;
export var useGlo_m4_f4 = glo_m4.foo();
@ -150,7 +149,6 @@ exports.f4 = m4.foo();
})(exports.m1 || (exports.m1 = {}));
var m1 = exports.m1;
var glo_m4 = require("importDecl_require1");
exports.useGlo_m4_x4 = glo_m4.x;
exports.useGlo_m4_d4 = glo_m4.d;
exports.useGlo_m4_f4 = glo_m4.foo();
var fncOnly_m4 = require("importDecl_require2");
@ -168,3 +166,57 @@ var multiImport_m4 = require("importDecl_require");
exports.useMultiImport_m4_x4 = multiImport_m4.x;
exports.useMultiImport_m4_d4 = multiImport_m4.d;
exports.useMultiImport_m4_f4 = multiImport_m4.foo();
//// [importDecl_require.d.ts]
export declare class d {
foo: string;
}
export declare var x: d;
export declare function foo(): d;
//// [importDecl_require1.d.ts]
export declare class d {
bar: string;
}
export declare function foo(): d;
//// [importDecl_require2.d.ts]
export declare class d {
baz: string;
}
export declare var x: d;
export declare function foo(): d;
//// [importDecl_require3.d.ts]
export declare class d {
bing: string;
}
export declare var x: d;
export declare function foo(): d;
//// [importDecl_require4.d.ts]
import m4 = require("importDecl_require");
export declare function foo2(): m4.d;
//// [importDecl_1.d.ts]
/// <reference path='importDecl_require.d.ts' />
/// <reference path='importDecl_require1.d.ts' />
/// <reference path='importDecl_require2.d.ts' />
/// <reference path='importDecl_require3.d.ts' />
/// <reference path='importDecl_require4.d.ts' />
import m4 = require("importDecl_require");
export declare var x4: m4.d;
export declare var d4: typeof m4.d;
export declare var f4: m4.d;
export declare module m1 {
var x2: m4.d;
var d2: typeof m4.d;
var f2: m4.d;
}
import glo_m4 = require("importDecl_require1");
export declare var useGlo_m4_d4: typeof glo_m4.d;
export declare var useGlo_m4_f4: glo_m4.d;
import fncOnly_m4 = require("importDecl_require2");
export declare var useFncOnly_m4_f4: fncOnly_m4.d;
export declare module usePrivate_m4_m1 {
}
export declare var d: m4.d;
export declare var useMultiImport_m4_x4: m4.d;
export declare var useMultiImport_m4_d4: typeof m4.d;
export declare var useMultiImport_m4_f4: m4.d;

View file

@ -18,3 +18,11 @@ var a;
})(a.b || (a.b = {}));
var b = a.b;
})(a || (a = {}));
//// [internalAliasWithDottedNameEmit.d.ts]
declare module a.b.c {
var d: any;
}
declare module a.e.f {
}

View file

@ -1,26 +0,0 @@
==== tests/cases/compiler/consumer.ts (0 errors) ====
import Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();
==== tests/cases/compiler/Drawing.ts (0 errors) ====
export import Math = require('Math/Math')
==== tests/cases/compiler/Math/Math.ts (0 errors) ====
import Adder = require('Math/Adder');
var Math = {
Adder:Adder
};
export = Math
==== tests/cases/compiler/Math/Adder.ts (1 errors) ====
class Adder {
add(a: number, b: number) {
}
}
export = Adder;
~~~~~~~~~~~~~~~
!!! Cannot compile external modules unless the '--module' flag is provided.

View file

@ -0,0 +1,90 @@
//// [tests/cases/compiler/multiImportExport.ts] ////
//// [consumer.ts]
import Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();
//// [Drawing.ts]
export import Math = require('Math/Math')
//// [Math.ts]
import Adder = require('Math/Adder');
var Math = {
Adder:Adder
};
export = Math
//// [Adder.ts]
class Adder {
add(a: number, b: number) {
}
}
export = Adder;
//// [Adder.js]
var Adder = (function () {
function Adder() {
}
Adder.prototype.add = function (a, b) {
};
return Adder;
})();
module.exports = Adder;
//// [Math.js]
var Adder = require('Math/Adder');
var Math = {
Adder: Adder
};
module.exports = Math;
//// [Drawing.js]
exports.Math = require('Math/Math');
//// [consumer.js]
var Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();
//// [Adder.d.ts]
declare class Adder {
add(a: number, b: number): void;
}
export = Adder;
//// [Math.d.ts]
import Adder = require('Math/Adder');
declare var Math: {
Adder: typeof Adder;
};
export = Math;
//// [Drawing.d.ts]
export import Math = require('Math/Math');
//// [consumer.d.ts]
//// [DtsFileErrors]
==== tests/cases/compiler/consumer.d.ts (0 errors) ====
==== tests/cases/compiler/Drawing.d.ts (1 errors) ====
export import Math = require('Math/Math');
~~~~~~~~~~~
!!! Cannot find external module 'Math/Math'.
==== tests/cases/compiler/Math.d.ts (1 errors) ====
import Adder = require('Math/Adder');
~~~~~~~~~~~~
!!! Cannot find external module 'Math/Adder'.
declare var Math: {
Adder: typeof Adder;
};
export = Math;
==== tests/cases/compiler/Adder.d.ts (0 errors) ====
declare class Adder {
add(a: number, b: number): void;
}
export = Adder;

View file

@ -30,3 +30,7 @@ var Query;
});
}
})(Query || (Query = {}));
//// [privacyCheckAnonymousFunctionParameter.d.ts]
export declare var x: number;

View file

@ -31,3 +31,7 @@ define(["require", "exports"], function (require, exports) {
}
})(Q || (Q = {}));
});
//// [privacyCheckAnonymousFunctionParameter2.d.ts]
export declare var x: number;

View file

@ -10,3 +10,11 @@ export interface B<T> extends A<T> {
//// [privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js]
define(["require", "exports"], function (require, exports) {
});
//// [privacyCheckCallbackOfInterfaceMethodWithTypeParameter.d.ts]
export interface A<T> {
f1(callback: (p: T) => any): any;
}
export interface B<T> extends A<T> {
}

View file

@ -11,3 +11,14 @@ export = Foo;
//// [privacyCheckExportAssignmentOnExportedGenericInterface1.js]
var Foo;
module.exports = Foo;
//// [privacyCheckExportAssignmentOnExportedGenericInterface1.d.ts]
declare module Foo {
interface A<T> {
}
}
interface Foo<T> {
}
declare var Foo: new () => Foo.A<Foo<string>>;
export = Foo;

View file

@ -24,3 +24,13 @@ define(["require", "exports"], function (require, exports) {
})(Foo || (Foo = {}));
return Foo;
});
//// [privacyCheckExportAssignmentOnExportedGenericInterface2.d.ts]
export = Foo;
interface Foo<T> {
}
declare function Foo<T>(array: T[]): Foo<T>;
declare module Foo {
var x: string;
}

View file

@ -22,3 +22,17 @@ var Foo = (function () {
})();
module.exports = Foo;
//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_1.js]
//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_0.d.ts]
export = Foo;
declare class Foo<A> {
a: A;
constructor(a: A);
}
//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_1.d.ts]
import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
export = Bar;
interface Bar {
foo: Foo<number>;
}

View file

@ -26,3 +26,12 @@ define(["require", "exports"], function (require, exports) {
})();
exports.B = B;
});
//// [privacyCheckOnTypeParameterReferenceInConstructorParameter.d.ts]
export declare class A<T1> {
constructor(callback: (self: A<T1>) => void);
}
export declare class B<T2> {
constructor(parent: T2);
}

View file

@ -1,8 +0,0 @@
==== tests/cases/compiler/privacyCheckTypeOfFunction.ts (1 errors) ====
function foo() {
}
export var x: typeof foo;
~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot compile external modules unless the '--module' flag is provided.
export var b = foo;

View file

@ -0,0 +1,17 @@
//// [privacyCheckTypeOfFunction.ts]
function foo() {
}
export var x: typeof foo;
export var b = foo;
//// [privacyCheckTypeOfFunction.js]
function foo() {
}
exports.x;
exports.b = foo;
//// [privacyCheckTypeOfFunction.d.ts]
export declare var x: () => void;
export declare var b: () => void;

View file

@ -0,0 +1,11 @@
==== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts (1 errors) ====
module Outer {
module Inner {
export var m: typeof Inner;
}
export var f: typeof Inner;
~
!!! Exported variable 'f' has or is using private name 'Inner'.
}

View file

@ -1,4 +1,4 @@
==== tests/cases/compiler/privacyGloImport.ts (21 errors) ====
==== tests/cases/compiler/privacyGloImport.ts (4 errors) ====
module m1 {
export module m1_M1_public {
export class c1 {
@ -20,27 +20,21 @@
export var v2: c1;
}
declare export module "m1_M3_public" {
~~~~~~
!!! 'export' modifier must precede 'declare' modifier.
~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "m1_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
declare module "m1_M4_private" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//declare module "m1_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
@ -55,51 +49,46 @@
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v1_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
export var m1_im2_private_v2_public = new m1_im2_private.c1();
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v2_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
export var m1_im2_private_v3_public = m1_im2_private.f1;
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v3_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
export var m1_im2_private_v4_public = m1_im2_private.f1();
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v4_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M3_public'.
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im3_private = require("m1_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M4_private'.
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
//import m1_im4_private = require("m1_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export import m1_im4_public = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//export import m1_im3_public = require("m1_M3_public");
//export import m1_im4_public = require("m1_M4_private");
}
module glo_M1_public {
@ -123,38 +112,26 @@
declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: use_glo_M1_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M1_public'.
export var use_glo_M1_public_v2_public: typeof use_glo_M1_public;
export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: use_glo_M1_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M1_public'.
var use_glo_M1_public_v2_private: typeof use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: use_glo_M2_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M2_public'.
export var use_glo_M2_public_v2_public: typeof use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: use_glo_M2_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M2_public'.
var use_glo_M2_public_v2_private: typeof use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import errorImport = require("glo_M2_public");
import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m5_errorImport = require("glo_M2_public");
import m5_nonerrorImport = glo_M1_public;
}
}
@ -162,35 +139,23 @@
declare module "anotherParseError" {
module m2 {
declare module "abc" {
~~~~~~~
!!! A 'declare' modifier cannot be used in an already ambient context.
~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
//declare module "abc" {
//}
}
module m2 {
module "abc2" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module "abc3" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
//module "abc2" {
//}
}
//module "abc3" {
//}
}
module m2 {
import m3 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m2 = require("use_glo_M1_public");
}
}

View file

@ -0,0 +1,230 @@
//// [privacyGloImport.ts]
module m1 {
export module m1_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m1_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
//export declare module "m1_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
//declare module "m1_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
//import m1_im3_private = require("m1_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im4_private = require("m1_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
//export import m1_im3_public = require("m1_M3_public");
//export import m1_im4_public = require("m1_M4_private");
}
module glo_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
declare module "glo_M2_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: typeof use_glo_M1_public;
export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: typeof use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: typeof use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: typeof use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
//import errorImport = require("glo_M2_public");
import nonerrorImport = glo_M1_public;
module m5 {
//import m5_errorImport = require("glo_M2_public");
import m5_nonerrorImport = glo_M1_public;
}
}
}
declare module "anotherParseError" {
module m2 {
//declare module "abc" {
//}
}
module m2 {
//module "abc2" {
//}
}
//module "abc3" {
//}
}
module m2 {
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
//import m2 = require("use_glo_M1_public");
}
}
//// [privacyGloImport.js]
var m1;
(function (m1) {
(function (m1_M1_public) {
var c1 = (function () {
function c1() {
}
return c1;
})();
m1_M1_public.c1 = c1;
function f1() {
return new c1;
}
m1_M1_public.f1 = f1;
m1_M1_public.v1 = c1;
m1_M1_public.v2;
})(m1.m1_M1_public || (m1.m1_M1_public = {}));
var m1_M1_public = m1.m1_M1_public;
var m1_M2_private;
(function (m1_M2_private) {
var c1 = (function () {
function c1() {
}
return c1;
})();
m1_M2_private.c1 = c1;
function f1() {
return new c1;
}
m1_M2_private.f1 = f1;
m1_M2_private.v1 = c1;
m1_M2_private.v2;
})(m1_M2_private || (m1_M2_private = {}));
var m1_im1_private = m1_M1_public;
m1.m1_im1_private_v1_public = m1_im1_private.c1;
m1.m1_im1_private_v2_public = new m1_im1_private.c1();
m1.m1_im1_private_v3_public = m1_im1_private.f1;
m1.m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
var m1_im2_private = m1_M2_private;
m1.m1_im2_private_v1_public = m1_im2_private.c1;
m1.m1_im2_private_v2_public = new m1_im2_private.c1();
m1.m1_im2_private_v3_public = m1_im2_private.f1;
m1.m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
m1.m1_im1_public = m1_M1_public;
m1.m1_im2_public = m1_M2_private;
})(m1 || (m1 = {}));
var glo_M1_public;
(function (glo_M1_public) {
var c1 = (function () {
function c1() {
}
return c1;
})();
glo_M1_public.c1 = c1;
function f1() {
return new c1;
}
glo_M1_public.f1 = f1;
glo_M1_public.v1 = c1;
glo_M1_public.v2;
})(glo_M1_public || (glo_M1_public = {}));
var m2;
(function (m2) {
var m4;
(function (m4) {
var a = 10;
})(m4 || (m4 = {}));
})(m2 || (m2 = {}));

View file

@ -0,0 +1,185 @@
==== tests/cases/compiler/privacyGloImportParseErrors.ts (16 errors) ====
module m1 {
export module m1_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m1_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "m1_M3_public" {
~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "m1_M4_private" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M3_public'.
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M4_private'.
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export import m1_im4_public = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
}
module glo_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
declare module "glo_M2_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: typeof use_glo_M1_public;
export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: typeof use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: typeof use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: typeof use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import m5_nonerrorImport = glo_M1_public;
}
}
}
declare module "anotherParseError" {
module m2 {
declare module "abc" {
~~~~~~~
!!! A 'declare' modifier cannot be used in an already ambient context.
~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module m2 {
module "abc2" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module "abc3" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module m2 {
import m3 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
}
}

View file

@ -1,4 +1,4 @@
==== tests/cases/compiler/privacyImport.ts (49 errors) ====
==== tests/cases/compiler/privacyImport.ts (4 errors) ====
export module m1 {
export module m1_M1_public {
export class c1 {
@ -20,25 +20,21 @@
export var v2: c1;
}
export declare module "m1_M3_public" {
~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "m1_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
declare module "m1_M4_private" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//declare module "m1_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
@ -53,50 +49,46 @@
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v1_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
export var m1_im2_private_v2_public = new m1_im2_private.c1();
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v2_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
export var m1_im2_private_v3_public = m1_im2_private.f1;
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v3_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
export var m1_im2_private_v4_public = m1_im2_private.f1();
~~~~~~~~~~~~~~~~~~~~~~~~
!!! Exported variable 'm1_im2_private_v4_public' has or is using name 'm1_M2_private.c1' from private module 'm1_M2_private'.
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M3_public'.
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im3_private = require("m1_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M4_private'.
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
//import m1_im4_private = require("m1_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export import m1_im4_public = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//export import m1_im3_public = require("m1_M3_public");
//export import m1_im4_public = require("m1_M4_private");
}
module m2 {
@ -120,25 +112,21 @@
export var v2: c1;
}
export declare module "m2_M3_public" {
~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "m2_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
declare module "m2_M4_private" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//declare module "m2_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m2_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
@ -161,43 +149,31 @@
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m2_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~
!!! Cannot find external module 'm2_M3_public'.
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im3_private = require("m2_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m2_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~~
!!! Cannot find external module 'm2_M4_private'.
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
//import m1_im4_private = require("m2_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m2_M1_public;
export import m1_im2_public = m2_M2_private;
export import m1_im3_public = require("m2_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export import m1_im4_public = require("m2_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//export import m1_im3_public = require("m2_M3_public");
//export import m1_im4_public = require("m2_M4_private");
}
export module glo_M1_public {
@ -210,15 +186,13 @@
export var v2: c1;
}
export declare module "glo_M2_public" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "glo_M2_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
export module glo_M3_private {
export class c1 {
@ -230,15 +204,13 @@
export var v2: c1;
}
export declare module "glo_M4_private" {
~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "glo_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import glo_im1_private = glo_M1_public;
@ -252,17 +224,15 @@
var glo_im1_private_v4_private = glo_im1_private.f1();
import glo_im2_private = require("glo_M2_public");
~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M2_public'.
export var glo_im2_private_v1_public = glo_im2_private.c1;
export var glo_im2_private_v2_public = new glo_im2_private.c1();
export var glo_im2_private_v3_public = glo_im2_private.f1;
export var glo_im2_private_v4_public = glo_im2_private.f1();
var glo_im2_private_v1_private = glo_im2_private.c1;
var glo_im2_private_v2_private = new glo_im2_private.c1();
var glo_im2_private_v3_private = glo_im2_private.f1;
var glo_im2_private_v4_private = glo_im2_private.f1();
//import glo_im2_private = require("glo_M2_public");
//export var glo_im2_private_v1_public = glo_im2_private.c1;
//export var glo_im2_private_v2_public = new glo_im2_private.c1();
//export var glo_im2_private_v3_public = glo_im2_private.f1;
//export var glo_im2_private_v4_public = glo_im2_private.f1();
//var glo_im2_private_v1_private = glo_im2_private.c1;
//var glo_im2_private_v2_private = new glo_im2_private.c1();
//var glo_im2_private_v3_private = glo_im2_private.f1;
//var glo_im2_private_v4_private = glo_im2_private.f1();
import glo_im3_private = glo_M3_private;
export var glo_im3_private_v1_public = glo_im3_private.c1;
@ -274,182 +244,122 @@
var glo_im3_private_v3_private = glo_im3_private.f1;
var glo_im3_private_v4_private = glo_im3_private.f1();
import glo_im4_private = require("glo_M4_private");
~~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M4_private'.
export var glo_im4_private_v1_public = glo_im4_private.c1;
export var glo_im4_private_v2_public = new glo_im4_private.c1();
export var glo_im4_private_v3_public = glo_im4_private.f1;
export var glo_im4_private_v4_public = glo_im4_private.f1();
var glo_im4_private_v1_private = glo_im4_private.c1;
var glo_im4_private_v2_private = new glo_im4_private.c1();
var glo_im4_private_v3_private = glo_im4_private.f1;
var glo_im4_private_v4_private = glo_im4_private.f1();
//import glo_im4_private = require("glo_M4_private");
//export var glo_im4_private_v1_public = glo_im4_private.c1;
//export var glo_im4_private_v2_public = new glo_im4_private.c1();
//export var glo_im4_private_v3_public = glo_im4_private.f1;
//export var glo_im4_private_v4_public = glo_im4_private.f1();
//var glo_im4_private_v1_private = glo_im4_private.c1;
//var glo_im4_private_v2_private = new glo_im4_private.c1();
//var glo_im4_private_v3_private = glo_im4_private.f1;
//var glo_im4_private_v4_private = glo_im4_private.f1();
// Parse error to export module
export import glo_im1_public = glo_M1_public;
export import glo_im2_public = glo_M3_private;
export import glo_im3_public = require("glo_M2_public");
~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M2_public'.
export import glo_im4_public = require("glo_M4_private");
~~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M4_private'.
//export import glo_im3_public = require("glo_M2_public");
//export import glo_im4_public = require("glo_M4_private");
export declare module "use_glo_M1_public" {
~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: use_glo_M1_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M1_public'.
export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: use_glo_M1_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M1_public'.
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
//export declare module "use_glo_M1_public" {
// import use_glo_M1_public = glo_M1_public;
// export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
// export var use_glo_M1_public_v2_public: use_glo_M1_public;
// export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
// var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
// var use_glo_M1_public_v2_private: use_glo_M1_public;
// var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M2_public'.
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
// import use_glo_M2_public = require("glo_M2_public");
// export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
// export var use_glo_M2_public_v2_public: use_glo_M2_public;
// export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
// var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
// var use_glo_M2_public_v2_private: use_glo_M2_public;
// var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import nonerrorImport = glo_M1_public;
// module m2 {
// import errorImport = require("glo_M2_public");
// import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import m5_nonerrorImport = glo_M1_public;
}
}
}
// module m5 {
// import m5_errorImport = require("glo_M2_public");
// import m5_nonerrorImport = glo_M1_public;
// }
// }
//}
declare module "use_glo_M3_private" {
~~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
import use_glo_M3_private = glo_M3_private;
export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
export var use_glo_M3_private_v2_public: use_glo_M3_private;
~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M3_private'.
export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
var use_glo_M3_private_v2_private: use_glo_M3_private;
~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M3_private'.
var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
//declare module "use_glo_M3_private" {
// import use_glo_M3_private = glo_M3_private;
// export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
// export var use_glo_M3_private_v2_public: use_glo_M3_private;
// export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
// var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
// var use_glo_M3_private_v2_private: use_glo_M3_private;
// var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
import use_glo_M4_private = require("glo_M4_private");
~~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M4_private'.
export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
export var use_glo_M4_private_v2_public: use_glo_M4_private;
export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
var use_glo_M4_private_v2_private: use_glo_M4_private;
var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
// import use_glo_M4_private = require("glo_M4_private");
// export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
// export var use_glo_M4_private_v2_public: use_glo_M4_private;
// export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
// var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
// var use_glo_M4_private_v2_private: use_glo_M4_private;
// var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
module m2 {
import errorImport = require("glo_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import nonerrorImport = glo_M3_private;
// module m2 {
// import errorImport = require("glo_M4_private");
// import nonerrorImport = glo_M3_private;
module m5 {
import m5_errorImport = require("glo_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import m5_nonerrorImport = glo_M3_private;
}
}
}
// module m5 {
// import m5_errorImport = require("glo_M4_private");
// import m5_nonerrorImport = glo_M3_private;
// }
// }
//}
declare module "anotherParseError" {
~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
module m2 {
declare module "abc" {
~~~~~~~
!!! A 'declare' modifier cannot be used in an already ambient context.
~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
//declare module "anotherParseError" {
// module m2 {
// declare module "abc" {
// }
// }
module m2 {
module "abc2" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module "abc3" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
// module m2 {
// module "abc2" {
// }
// }
// module "abc3" {
// }
//}
declare export module "anotherParseError2" {
~~~~~~
!!! 'export' modifier must precede 'declare' modifier.
~~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
module m2 {
declare module "abc" {
~~~~~~~
!!! A 'declare' modifier cannot be used in an already ambient context.
~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
//declare export module "anotherParseError2" {
// module m2 {
// declare module "abc" {
// }
// }
module m2 {
module "abc2" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module "abc3" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
// module m2 {
// module "abc2" {
// }
// }
// module "abc3" {
// }
//}
module m2 {
import m3 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m2 = require("use_glo_M1_public");
}
}
export module m3 {
import m3 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
//import m2 = require("use_glo_M1_public");
}
}

View file

@ -0,0 +1,529 @@
//// [privacyImport.ts]
export module m1 {
export module m1_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m1_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
//export declare module "m1_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
//declare module "m1_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
//import m1_im3_private = require("m1_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im4_private = require("m1_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
//export import m1_im3_public = require("m1_M3_public");
//export import m1_im4_public = require("m1_M4_private");
}
module m2 {
export module m2_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m2_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
//export declare module "m2_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
//declare module "m2_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m2_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m2_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
//import m1_im3_private = require("m2_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im4_private = require("m2_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m2_M1_public;
export import m1_im2_public = m2_M2_private;
//export import m1_im3_public = require("m2_M3_public");
//export import m1_im4_public = require("m2_M4_private");
}
export module glo_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
//export declare module "glo_M2_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
export module glo_M3_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
//export declare module "glo_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import glo_im1_private = glo_M1_public;
export var glo_im1_private_v1_public = glo_im1_private.c1;
export var glo_im1_private_v2_public = new glo_im1_private.c1();
export var glo_im1_private_v3_public = glo_im1_private.f1;
export var glo_im1_private_v4_public = glo_im1_private.f1();
var glo_im1_private_v1_private = glo_im1_private.c1;
var glo_im1_private_v2_private = new glo_im1_private.c1();
var glo_im1_private_v3_private = glo_im1_private.f1;
var glo_im1_private_v4_private = glo_im1_private.f1();
//import glo_im2_private = require("glo_M2_public");
//export var glo_im2_private_v1_public = glo_im2_private.c1;
//export var glo_im2_private_v2_public = new glo_im2_private.c1();
//export var glo_im2_private_v3_public = glo_im2_private.f1;
//export var glo_im2_private_v4_public = glo_im2_private.f1();
//var glo_im2_private_v1_private = glo_im2_private.c1;
//var glo_im2_private_v2_private = new glo_im2_private.c1();
//var glo_im2_private_v3_private = glo_im2_private.f1;
//var glo_im2_private_v4_private = glo_im2_private.f1();
import glo_im3_private = glo_M3_private;
export var glo_im3_private_v1_public = glo_im3_private.c1;
export var glo_im3_private_v2_public = new glo_im3_private.c1();
export var glo_im3_private_v3_public = glo_im3_private.f1;
export var glo_im3_private_v4_public = glo_im3_private.f1();
var glo_im3_private_v1_private = glo_im3_private.c1;
var glo_im3_private_v2_private = new glo_im3_private.c1();
var glo_im3_private_v3_private = glo_im3_private.f1;
var glo_im3_private_v4_private = glo_im3_private.f1();
//import glo_im4_private = require("glo_M4_private");
//export var glo_im4_private_v1_public = glo_im4_private.c1;
//export var glo_im4_private_v2_public = new glo_im4_private.c1();
//export var glo_im4_private_v3_public = glo_im4_private.f1;
//export var glo_im4_private_v4_public = glo_im4_private.f1();
//var glo_im4_private_v1_private = glo_im4_private.c1;
//var glo_im4_private_v2_private = new glo_im4_private.c1();
//var glo_im4_private_v3_private = glo_im4_private.f1;
//var glo_im4_private_v4_private = glo_im4_private.f1();
// Parse error to export module
export import glo_im1_public = glo_M1_public;
export import glo_im2_public = glo_M3_private;
//export import glo_im3_public = require("glo_M2_public");
//export import glo_im4_public = require("glo_M4_private");
//export declare module "use_glo_M1_public" {
// import use_glo_M1_public = glo_M1_public;
// export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
// export var use_glo_M1_public_v2_public: use_glo_M1_public;
// export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
// var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
// var use_glo_M1_public_v2_private: use_glo_M1_public;
// var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
// import use_glo_M2_public = require("glo_M2_public");
// export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
// export var use_glo_M2_public_v2_public: use_glo_M2_public;
// export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
// var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
// var use_glo_M2_public_v2_private: use_glo_M2_public;
// var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
// module m2 {
// import errorImport = require("glo_M2_public");
// import nonerrorImport = glo_M1_public;
// module m5 {
// import m5_errorImport = require("glo_M2_public");
// import m5_nonerrorImport = glo_M1_public;
// }
// }
//}
//declare module "use_glo_M3_private" {
// import use_glo_M3_private = glo_M3_private;
// export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
// export var use_glo_M3_private_v2_public: use_glo_M3_private;
// export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
// var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
// var use_glo_M3_private_v2_private: use_glo_M3_private;
// var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
// import use_glo_M4_private = require("glo_M4_private");
// export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
// export var use_glo_M4_private_v2_public: use_glo_M4_private;
// export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
// var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
// var use_glo_M4_private_v2_private: use_glo_M4_private;
// var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
// module m2 {
// import errorImport = require("glo_M4_private");
// import nonerrorImport = glo_M3_private;
// module m5 {
// import m5_errorImport = require("glo_M4_private");
// import m5_nonerrorImport = glo_M3_private;
// }
// }
//}
//declare module "anotherParseError" {
// module m2 {
// declare module "abc" {
// }
// }
// module m2 {
// module "abc2" {
// }
// }
// module "abc3" {
// }
//}
//declare export module "anotherParseError2" {
// module m2 {
// declare module "abc" {
// }
// }
// module m2 {
// module "abc2" {
// }
// }
// module "abc3" {
// }
//}
module m2 {
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
//import m2 = require("use_glo_M1_public");
}
}
export module m3 {
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
//import m2 = require("use_glo_M1_public");
}
}
//// [privacyImport.js]
(function (m1) {
(function (m1_M1_public) {
var c1 = (function () {
function c1() {
}
return c1;
})();
m1_M1_public.c1 = c1;
function f1() {
return new c1;
}
m1_M1_public.f1 = f1;
m1_M1_public.v1 = c1;
m1_M1_public.v2;
})(m1.m1_M1_public || (m1.m1_M1_public = {}));
var m1_M1_public = m1.m1_M1_public;
var m1_M2_private;
(function (m1_M2_private) {
var c1 = (function () {
function c1() {
}
return c1;
})();
m1_M2_private.c1 = c1;
function f1() {
return new c1;
}
m1_M2_private.f1 = f1;
m1_M2_private.v1 = c1;
m1_M2_private.v2;
})(m1_M2_private || (m1_M2_private = {}));
var m1_im1_private = m1_M1_public;
m1.m1_im1_private_v1_public = m1_im1_private.c1;
m1.m1_im1_private_v2_public = new m1_im1_private.c1();
m1.m1_im1_private_v3_public = m1_im1_private.f1;
m1.m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
var m1_im2_private = m1_M2_private;
m1.m1_im2_private_v1_public = m1_im2_private.c1;
m1.m1_im2_private_v2_public = new m1_im2_private.c1();
m1.m1_im2_private_v3_public = m1_im2_private.f1;
m1.m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
m1.m1_im1_public = m1_M1_public;
m1.m1_im2_public = m1_M2_private;
})(exports.m1 || (exports.m1 = {}));
var m1 = exports.m1;
var m2;
(function (m2) {
(function (m2_M1_public) {
var c1 = (function () {
function c1() {
}
return c1;
})();
m2_M1_public.c1 = c1;
function f1() {
return new c1;
}
m2_M1_public.f1 = f1;
m2_M1_public.v1 = c1;
m2_M1_public.v2;
})(m2.m2_M1_public || (m2.m2_M1_public = {}));
var m2_M1_public = m2.m2_M1_public;
var m2_M2_private;
(function (m2_M2_private) {
var c1 = (function () {
function c1() {
}
return c1;
})();
m2_M2_private.c1 = c1;
function f1() {
return new c1;
}
m2_M2_private.f1 = f1;
m2_M2_private.v1 = c1;
m2_M2_private.v2;
})(m2_M2_private || (m2_M2_private = {}));
var m1_im1_private = m2_M1_public;
m2.m1_im1_private_v1_public = m1_im1_private.c1;
m2.m1_im1_private_v2_public = new m1_im1_private.c1();
m2.m1_im1_private_v3_public = m1_im1_private.f1;
m2.m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
var m1_im2_private = m2_M2_private;
m2.m1_im2_private_v1_public = m1_im2_private.c1;
m2.m1_im2_private_v2_public = new m1_im2_private.c1();
m2.m1_im2_private_v3_public = m1_im2_private.f1;
m2.m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
m2.m1_im1_public = m2_M1_public;
m2.m1_im2_public = m2_M2_private;
})(m2 || (m2 = {}));
(function (glo_M1_public) {
var c1 = (function () {
function c1() {
}
return c1;
})();
glo_M1_public.c1 = c1;
function f1() {
return new c1;
}
glo_M1_public.f1 = f1;
glo_M1_public.v1 = c1;
glo_M1_public.v2;
})(exports.glo_M1_public || (exports.glo_M1_public = {}));
var glo_M1_public = exports.glo_M1_public;
(function (glo_M3_private) {
var c1 = (function () {
function c1() {
}
return c1;
})();
glo_M3_private.c1 = c1;
function f1() {
return new c1;
}
glo_M3_private.f1 = f1;
glo_M3_private.v1 = c1;
glo_M3_private.v2;
})(exports.glo_M3_private || (exports.glo_M3_private = {}));
var glo_M3_private = exports.glo_M3_private;
var glo_im1_private = glo_M1_public;
exports.glo_im1_private_v1_public = glo_im1_private.c1;
exports.glo_im1_private_v2_public = new glo_im1_private.c1();
exports.glo_im1_private_v3_public = glo_im1_private.f1;
exports.glo_im1_private_v4_public = glo_im1_private.f1();
var glo_im1_private_v1_private = glo_im1_private.c1;
var glo_im1_private_v2_private = new glo_im1_private.c1();
var glo_im1_private_v3_private = glo_im1_private.f1;
var glo_im1_private_v4_private = glo_im1_private.f1();
var glo_im3_private = glo_M3_private;
exports.glo_im3_private_v1_public = glo_im3_private.c1;
exports.glo_im3_private_v2_public = new glo_im3_private.c1();
exports.glo_im3_private_v3_public = glo_im3_private.f1;
exports.glo_im3_private_v4_public = glo_im3_private.f1();
var glo_im3_private_v1_private = glo_im3_private.c1;
var glo_im3_private_v2_private = new glo_im3_private.c1();
var glo_im3_private_v3_private = glo_im3_private.f1;
var glo_im3_private_v4_private = glo_im3_private.f1();
exports.glo_im1_public = glo_M1_public;
exports.glo_im2_public = glo_M3_private;
var m2;
(function (m2) {
var m4;
(function (m4) {
var a = 10;
})(m4 || (m4 = {}));
})(m2 || (m2 = {}));
(function (m3) {
var m4;
(function (m4) {
var a = 10;
})(m4 || (m4 = {}));
})(exports.m3 || (exports.m3 = {}));
var m3 = exports.m3;

View file

@ -0,0 +1,455 @@
==== tests/cases/compiler/privacyImportParseErrors.ts (49 errors) ====
export module m1 {
export module m1_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m1_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "m1_M3_public" {
~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "m1_M4_private" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M3_public'.
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~~
!!! Cannot find external module 'm1_M4_private'.
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export import m1_im4_public = require("m1_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
}
module m2 {
export module m2_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m2_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "m2_M3_public" {
~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "m2_M4_private" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import m1_im1_private = m2_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m2_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m2_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~
!!! Cannot find external module 'm2_M3_public'.
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m2_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
~~~~~~~~~~~~~~~
!!! Cannot find external module 'm2_M4_private'.
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m2_M1_public;
export import m1_im2_public = m2_M2_private;
export import m1_im3_public = require("m2_M3_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export import m1_im4_public = require("m2_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
}
export module glo_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "glo_M2_public" {
~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
export module glo_M3_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "glo_M4_private" {
~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import glo_im1_private = glo_M1_public;
export var glo_im1_private_v1_public = glo_im1_private.c1;
export var glo_im1_private_v2_public = new glo_im1_private.c1();
export var glo_im1_private_v3_public = glo_im1_private.f1;
export var glo_im1_private_v4_public = glo_im1_private.f1();
var glo_im1_private_v1_private = glo_im1_private.c1;
var glo_im1_private_v2_private = new glo_im1_private.c1();
var glo_im1_private_v3_private = glo_im1_private.f1;
var glo_im1_private_v4_private = glo_im1_private.f1();
import glo_im2_private = require("glo_M2_public");
~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M2_public'.
export var glo_im2_private_v1_public = glo_im2_private.c1;
export var glo_im2_private_v2_public = new glo_im2_private.c1();
export var glo_im2_private_v3_public = glo_im2_private.f1;
export var glo_im2_private_v4_public = glo_im2_private.f1();
var glo_im2_private_v1_private = glo_im2_private.c1;
var glo_im2_private_v2_private = new glo_im2_private.c1();
var glo_im2_private_v3_private = glo_im2_private.f1;
var glo_im2_private_v4_private = glo_im2_private.f1();
import glo_im3_private = glo_M3_private;
export var glo_im3_private_v1_public = glo_im3_private.c1;
export var glo_im3_private_v2_public = new glo_im3_private.c1();
export var glo_im3_private_v3_public = glo_im3_private.f1;
export var glo_im3_private_v4_public = glo_im3_private.f1();
var glo_im3_private_v1_private = glo_im3_private.c1;
var glo_im3_private_v2_private = new glo_im3_private.c1();
var glo_im3_private_v3_private = glo_im3_private.f1;
var glo_im3_private_v4_private = glo_im3_private.f1();
import glo_im4_private = require("glo_M4_private");
~~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M4_private'.
export var glo_im4_private_v1_public = glo_im4_private.c1;
export var glo_im4_private_v2_public = new glo_im4_private.c1();
export var glo_im4_private_v3_public = glo_im4_private.f1;
export var glo_im4_private_v4_public = glo_im4_private.f1();
var glo_im4_private_v1_private = glo_im4_private.c1;
var glo_im4_private_v2_private = new glo_im4_private.c1();
var glo_im4_private_v3_private = glo_im4_private.f1;
var glo_im4_private_v4_private = glo_im4_private.f1();
// Parse error to export module
export import glo_im1_public = glo_M1_public;
export import glo_im2_public = glo_M3_private;
export import glo_im3_public = require("glo_M2_public");
~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M2_public'.
export import glo_im4_public = require("glo_M4_private");
~~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M4_private'.
export declare module "use_glo_M1_public" {
~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: use_glo_M1_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M1_public'.
export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: use_glo_M1_public;
~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M1_public'.
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M2_public'.
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import m5_nonerrorImport = glo_M1_public;
}
}
}
declare module "use_glo_M3_private" {
~~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
import use_glo_M3_private = glo_M3_private;
export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
export var use_glo_M3_private_v2_public: use_glo_M3_private;
~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M3_private'.
export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
var use_glo_M3_private_v2_private: use_glo_M3_private;
~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'use_glo_M3_private'.
var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
import use_glo_M4_private = require("glo_M4_private");
~~~~~~~~~~~~~~~~
!!! Cannot find external module 'glo_M4_private'.
export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
export var use_glo_M4_private_v2_public: use_glo_M4_private;
export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
var use_glo_M4_private_v2_private: use_glo_M4_private;
var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
module m2 {
import errorImport = require("glo_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import nonerrorImport = glo_M3_private;
module m5 {
import m5_errorImport = require("glo_M4_private");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
import m5_nonerrorImport = glo_M3_private;
}
}
}
declare module "anotherParseError" {
~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
module m2 {
declare module "abc" {
~~~~~~~
!!! A 'declare' modifier cannot be used in an already ambient context.
~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module m2 {
module "abc2" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module "abc3" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
declare export module "anotherParseError2" {
~~~~~~
!!! 'export' modifier must precede 'declare' modifier.
~~~~~~~~~~~~~~~~~~~~
!!! Ambient external modules cannot be nested in other modules.
module m2 {
declare module "abc" {
~~~~~~~
!!! A 'declare' modifier cannot be used in an already ambient context.
~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module m2 {
module "abc2" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module "abc3" {
~~~~~~
!!! Ambient external modules cannot be nested in other modules.
}
}
module m2 {
import m3 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
}
}
export module m3 {
import m3 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
}
}

View file

@ -291,3 +291,127 @@ var import_private;
var privateUse_im_private_mu_public;
import_private.publicUse_im_private_mu_public;
})(import_private || (import_private = {}));
//// [privacyLocalInternalReferenceImportWithExport.d.ts]
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
export declare module import_public {
export import im_public_c_private = m_private.c_private;
export import im_public_e_private = m_private.e_private;
export import im_public_f_private = m_private.f_private;
export import im_public_v_private = m_private.v_private;
export import im_public_i_private = m_private.i_private;
export import im_public_mi_private = m_private.mi_private;
export import im_public_mu_private = m_private.mu_private;
var publicUse_im_public_c_private: im_public_c_private;
var publicUse_im_public_e_private: im_public_e_private;
var publicUse_im_public_f_private: im_public_c_private;
var publicUse_im_public_v_private: im_public_c_private;
var publicUse_im_public_i_private: im_public_i_private;
var publicUse_im_public_mi_private: im_public_mi_private.c;
var publicUse_im_public_mu_private: im_public_mu_private.i;
export import im_public_c_public = m_public.c_public;
export import im_public_e_public = m_public.e_public;
export import im_public_f_public = m_public.f_public;
export import im_public_v_public = m_public.v_public;
export import im_public_i_public = m_public.i_public;
export import im_public_mi_public = m_public.mi_public;
export import im_public_mu_public = m_public.mu_public;
var publicUse_im_public_c_public: im_public_c_public;
var publicUse_im_public_e_public: im_public_e_public;
var publicUse_im_public_f_public: im_public_c_public;
var publicUse_im_public_v_public: number;
var publicUse_im_public_i_public: im_public_i_public;
var publicUse_im_public_mi_public: im_public_mi_public.c;
var publicUse_im_public_mu_public: im_public_mu_public.i;
}
//// [DtsFileErrors]
==== tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.d.ts (7 errors) ====
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
export declare module import_public {
export import im_public_c_private = m_private.c_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_e_private = m_private.e_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_f_private = m_private.f_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_v_private = m_private.v_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_i_private = m_private.i_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_mi_private = m_private.mi_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_mu_private = m_private.mu_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
var publicUse_im_public_c_private: im_public_c_private;
var publicUse_im_public_e_private: im_public_e_private;
var publicUse_im_public_f_private: im_public_c_private;
var publicUse_im_public_v_private: im_public_c_private;
var publicUse_im_public_i_private: im_public_i_private;
var publicUse_im_public_mi_private: im_public_mi_private.c;
var publicUse_im_public_mu_private: im_public_mu_private.i;
export import im_public_c_public = m_public.c_public;
export import im_public_e_public = m_public.e_public;
export import im_public_f_public = m_public.f_public;
export import im_public_v_public = m_public.v_public;
export import im_public_i_public = m_public.i_public;
export import im_public_mi_public = m_public.mi_public;
export import im_public_mu_public = m_public.mu_public;
var publicUse_im_public_c_public: im_public_c_public;
var publicUse_im_public_e_public: im_public_e_public;
var publicUse_im_public_f_public: im_public_c_public;
var publicUse_im_public_v_public: number;
var publicUse_im_public_i_public: im_public_i_public;
var publicUse_im_public_mi_public: im_public_mi_public.c;
var publicUse_im_public_mu_public: im_public_mu_public.i;
}

View file

@ -293,3 +293,115 @@ define(["require", "exports"], function (require, exports) {
import_private.publicUse_im_private_mu_public;
})(import_private || (import_private = {}));
});
//// [privacyLocalInternalReferenceImportWithoutExport.d.ts]
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
export declare module import_public {
import im_private_c_private = m_private.c_private;
import im_private_e_private = m_private.e_private;
import im_private_i_private = m_private.i_private;
import im_private_mi_private = m_private.mi_private;
import im_private_mu_private = m_private.mu_private;
var publicUse_im_private_c_private: im_private_c_private;
var publicUse_im_private_e_private: im_private_e_private;
var publicUse_im_private_f_private: im_private_c_private;
var publicUse_im_private_v_private: im_private_c_private;
var publicUse_im_private_i_private: im_private_i_private;
var publicUse_im_private_mi_private: im_private_mi_private.c;
var publicUse_im_private_mu_private: im_private_mu_private.i;
import im_private_c_public = m_public.c_public;
import im_private_e_public = m_public.e_public;
import im_private_i_public = m_public.i_public;
import im_private_mi_public = m_public.mi_public;
import im_private_mu_public = m_public.mu_public;
var publicUse_im_private_c_public: im_private_c_public;
var publicUse_im_private_e_public: im_private_e_public;
var publicUse_im_private_f_public: im_private_c_public;
var publicUse_im_private_v_public: number;
var publicUse_im_private_i_public: im_private_i_public;
var publicUse_im_private_mi_public: im_private_mi_public.c;
var publicUse_im_private_mu_public: im_private_mu_public.i;
}
//// [DtsFileErrors]
==== tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.d.ts (5 errors) ====
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
export declare module import_public {
import im_private_c_private = m_private.c_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_e_private = m_private.e_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_i_private = m_private.i_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_mi_private = m_private.mi_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_mu_private = m_private.mu_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
var publicUse_im_private_c_private: im_private_c_private;
var publicUse_im_private_e_private: im_private_e_private;
var publicUse_im_private_f_private: im_private_c_private;
var publicUse_im_private_v_private: im_private_c_private;
var publicUse_im_private_i_private: im_private_i_private;
var publicUse_im_private_mi_private: im_private_mi_private.c;
var publicUse_im_private_mu_private: im_private_mu_private.i;
import im_private_c_public = m_public.c_public;
import im_private_e_public = m_public.e_public;
import im_private_i_public = m_public.i_public;
import im_private_mi_public = m_public.mi_public;
import im_private_mu_public = m_public.mu_public;
var publicUse_im_private_c_public: im_private_c_public;
var publicUse_im_private_e_public: im_private_e_public;
var publicUse_im_private_f_public: im_private_c_public;
var publicUse_im_private_v_public: number;
var publicUse_im_private_i_public: im_private_i_public;
var publicUse_im_private_mi_public: im_private_mi_public.c;
var publicUse_im_private_mu_public: im_private_mu_public.i;
}

View file

@ -1,57 +0,0 @@
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_core.ts (6 errors) ====
// Privacy errors - importing private elements
export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
export import im_public_mi_public = require("m");
~~~
!!! Cannot find external module 'm'.
export import im_public_mu_public = require("m2");
~~~~
!!! Cannot find external module 'm2'.
// Usage of privacy error imports
var privateUse_im_public_mi_private = new im_public_mi_private.c_private();
~~~~~~~~~
!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require"'.
export var publicUse_im_public_mi_private = new im_public_mi_private.c_private();
~~~~~~~~~
!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require"'.
var privateUse_im_public_mu_private = new im_public_mu_private.c_private();
~~~~~~~~~
!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1"'.
export var publicUse_im_public_mu_private = new im_public_mu_private.c_private();
~~~~~~~~~
!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1"'.
var privateUse_im_public_mi_public = new im_public_mi_public.c_public();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_public();
var privateUse_im_public_mi_public = new im_public_mi_public.c_public();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_public();
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require.ts (0 errors) ====
// Public elements
export class c_public {
foo: string;
}
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts (0 errors) ====
export class c_public {
bar: string;
}
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts (0 errors) ====
// private elements
// Export - Error ambient modules allowed only in global
declare module 'm' {
export class c_private {
baz: string;
}
}
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require3.ts (0 errors) ====
declare module 'm2' {
export class c_private {
bing: string;
}
}

View file

@ -29,6 +29,8 @@ declare module 'm2' {
}
//// [privacyTopLevelAmbientExternalModuleImportWithExport_core.ts]
///<reference path='privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts'/>
///<reference path='privacyTopLevelAmbientExternalModuleImportWithExport_require3.ts'/>
// Privacy errors - importing private elements
export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
@ -36,16 +38,18 @@ export import im_public_mi_public = require("m");
export import im_public_mu_public = require("m2");
// Usage of privacy error imports
var privateUse_im_public_mi_private = new im_public_mi_private.c_private();
export var publicUse_im_public_mi_private = new im_public_mi_private.c_private();
var privateUse_im_public_mu_private = new im_public_mu_private.c_private();
export var publicUse_im_public_mu_private = new im_public_mu_private.c_private();
var privateUse_im_public_mi_public = new im_public_mi_public.c_public();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_public();
var privateUse_im_public_mi_public = new im_public_mi_public.c_public();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_public();
var privateUse_im_public_mi_private = new im_public_mi_private.c_public();
export var publicUse_im_public_mi_private = new im_public_mi_private.c_public();
var privateUse_im_public_mu_private = new im_public_mu_private.c_public();
export var publicUse_im_public_mu_private = new im_public_mu_private.c_public();
var privateUse_im_public_mi_public = new im_public_mi_public.c_private();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_private();
var privateUse_im_public_mi_public = new im_public_mi_public.c_private();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_private();
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require2.js]
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require3.js]
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require.js]
var c_public = (function () {
function c_public() {
@ -64,11 +68,45 @@ exports.c_public = c_public;
exports.im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
exports.im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
exports.im_public_mi_public = require("m");
var privateUse_im_public_mi_private = new exports.im_public_mi_private.c_private();
exports.publicUse_im_public_mi_private = new exports.im_public_mi_private.c_private();
var privateUse_im_public_mu_private = new exports.im_public_mu_private.c_private();
exports.publicUse_im_public_mu_private = new exports.im_public_mu_private.c_private();
var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_public();
exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_public();
var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_public();
exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_public();
exports.im_public_mu_public = require("m2");
var privateUse_im_public_mi_private = new exports.im_public_mi_private.c_public();
exports.publicUse_im_public_mi_private = new exports.im_public_mi_private.c_public();
var privateUse_im_public_mu_private = new exports.im_public_mu_private.c_public();
exports.publicUse_im_public_mu_private = new exports.im_public_mu_private.c_public();
var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_private();
exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_private();
var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_private();
exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_private();
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require2.d.ts]
declare module 'm' {
class c_private {
baz: string;
}
}
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require3.d.ts]
declare module 'm2' {
class c_private {
bing: string;
}
}
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require.d.ts]
export declare class c_public {
foo: string;
}
//// [privacyTopLevelAmbientExternalModuleImportWithExport_require1.d.ts]
export declare class c_public {
bar: string;
}
//// [privacyTopLevelAmbientExternalModuleImportWithExport_core.d.ts]
/// <reference path='privacyTopLevelAmbientExternalModuleImportWithExport_require2.d.ts' />
/// <reference path='privacyTopLevelAmbientExternalModuleImportWithExport_require3.d.ts' />
export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
export import im_public_mi_public = require("m");
export import im_public_mu_public = require("m2");
export declare var publicUse_im_public_mi_private: im_public_mi_private.c_public;
export declare var publicUse_im_public_mu_private: im_public_mu_private.c_public;
export declare var publicUse_im_public_mi_public: im_public_mi_public.c_private;
export declare var publicUse_im_public_mi_public: im_public_mi_public.c_private;

View file

@ -1,49 +0,0 @@
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts (2 errors) ====
// Privacy errors - importing private elements
import im_private_mi_private = require("m");
~~~
!!! Cannot find external module 'm'.
import im_private_mu_private = require("m2");
~~~~
!!! Cannot find external module 'm2'.
import im_private_mi_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require");
import im_private_mu_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require1");
// Usage of privacy error imports
var privateUse_im_private_mi_private = new im_private_mi_private.c_private();
export var publicUse_im_private_mi_private = new im_private_mi_private.c_private();
var privateUse_im_private_mu_private = new im_private_mu_private.c_private();
export var publicUse_im_private_mu_private = new im_private_mu_private.c_private();
var privateUse_im_private_mi_public = new im_private_mi_public.c_public();
export var publicUse_im_private_mi_public = new im_private_mi_public.c_public();
var privateUse_im_private_mi_public = new im_private_mi_public.c_public();
export var publicUse_im_private_mi_public = new im_private_mi_public.c_public();
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require.ts (0 errors) ====
// Public elements
export class c_public {
foo: string;
}
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require1.ts (0 errors) ====
export class c_public {
bar: string;
}
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.ts (0 errors) ====
// private elements
// Export - Error ambient modules allowed only in global
declare module 'm' {
export class c_private {
baz: string
}
}
==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.ts (0 errors) ====
declare module 'm2' {
export class c_private {
bing: string;
}
}

View file

@ -29,6 +29,8 @@ declare module 'm2' {
}
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts]
///<reference path='privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.ts'/>
///<reference path='privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.ts'/>
// Privacy errors - importing private elements
import im_private_mi_private = require("m");
import im_private_mu_private = require("m2");
@ -46,6 +48,8 @@ var privateUse_im_private_mi_public = new im_private_mi_public.c_public();
export var publicUse_im_private_mi_public = new im_private_mi_public.c_public();
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.js]
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.js]
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require.js]
define(["require", "exports"], function (require, exports) {
var c_public = (function () {
@ -75,3 +79,35 @@ define(["require", "exports", "m", "m2", "privacyTopLevelAmbientExternalModuleIm
var privateUse_im_private_mi_public = new im_private_mi_public.c_public();
exports.publicUse_im_private_mi_public = new im_private_mi_public.c_public();
});
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.d.ts]
declare module 'm' {
class c_private {
baz: string;
}
}
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.d.ts]
declare module 'm2' {
class c_private {
bing: string;
}
}
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require.d.ts]
export declare class c_public {
foo: string;
}
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require1.d.ts]
export declare class c_public {
bar: string;
}
//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_core.d.ts]
/// <reference path='privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.d.ts' />
/// <reference path='privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.d.ts' />
import im_private_mi_private = require("m");
import im_private_mu_private = require("m2");
import im_private_mi_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require");
export declare var publicUse_im_private_mi_private: im_private_mi_private.c_private;
export declare var publicUse_im_private_mu_private: im_private_mu_private.c_private;
export declare var publicUse_im_private_mi_public: im_private_mi_public.c_public;
export declare var publicUse_im_private_mi_public: im_private_mi_public.c_public;

View file

@ -196,3 +196,123 @@ define(["require", "exports"], function (require, exports) {
var privateUse_im_public_mu_public;
exports.publicUse_im_public_mu_public;
});
//// [privacyTopLevelInternalReferenceImportWithExport.d.ts]
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
export import im_public_c_private = m_private.c_private;
export import im_public_e_private = m_private.e_private;
export import im_public_f_private = m_private.f_private;
export import im_public_v_private = m_private.v_private;
export import im_public_i_private = m_private.i_private;
export import im_public_mi_private = m_private.mi_private;
export import im_public_mu_private = m_private.mu_private;
export declare var publicUse_im_public_c_private: im_public_c_private;
export declare var publicUse_im_public_e_private: im_public_e_private;
export declare var publicUse_im_public_f_private: im_public_c_private;
export declare var publicUse_im_public_v_private: im_public_c_private;
export declare var publicUse_im_public_i_private: im_public_i_private;
export declare var publicUse_im_public_mi_private: im_public_mi_private.c;
export declare var publicUse_im_public_mu_private: im_public_mu_private.i;
export import im_public_c_public = m_public.c_public;
export import im_public_e_public = m_public.e_public;
export import im_public_f_public = m_public.f_public;
export import im_public_v_public = m_public.v_public;
export import im_public_i_public = m_public.i_public;
export import im_public_mi_public = m_public.mi_public;
export import im_public_mu_public = m_public.mu_public;
export declare var publicUse_im_public_c_public: im_public_c_public;
export declare var publicUse_im_public_e_public: im_public_e_public;
export declare var publicUse_im_public_f_public: im_public_c_public;
export declare var publicUse_im_public_v_public: number;
export declare var publicUse_im_public_i_public: im_public_i_public;
export declare var publicUse_im_public_mi_public: im_public_mi_public.c;
export declare var publicUse_im_public_mu_public: im_public_mu_public.i;
//// [DtsFileErrors]
==== tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.d.ts (7 errors) ====
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
export import im_public_c_private = m_private.c_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_e_private = m_private.e_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_f_private = m_private.f_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_v_private = m_private.v_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_i_private = m_private.i_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_mi_private = m_private.mi_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export import im_public_mu_private = m_private.mu_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export declare var publicUse_im_public_c_private: im_public_c_private;
export declare var publicUse_im_public_e_private: im_public_e_private;
export declare var publicUse_im_public_f_private: im_public_c_private;
export declare var publicUse_im_public_v_private: im_public_c_private;
export declare var publicUse_im_public_i_private: im_public_i_private;
export declare var publicUse_im_public_mi_private: im_public_mi_private.c;
export declare var publicUse_im_public_mu_private: im_public_mu_private.i;
export import im_public_c_public = m_public.c_public;
export import im_public_e_public = m_public.e_public;
export import im_public_f_public = m_public.f_public;
export import im_public_v_public = m_public.v_public;
export import im_public_i_public = m_public.i_public;
export import im_public_mi_public = m_public.mi_public;
export import im_public_mu_public = m_public.mu_public;
export declare var publicUse_im_public_c_public: im_public_c_public;
export declare var publicUse_im_public_e_public: im_public_e_public;
export declare var publicUse_im_public_f_public: im_public_c_public;
export declare var publicUse_im_public_v_public: number;
export declare var publicUse_im_public_i_public: im_public_i_public;
export declare var publicUse_im_public_mi_public: im_public_mi_public.c;
export declare var publicUse_im_public_mu_public: im_public_mu_public.i;

View file

@ -1,4 +1,5 @@
//// [privacyTopLevelInternalReferenceImportWithoutExport.ts]
// private elements
module m_private {
export class c_private {
@ -196,3 +197,111 @@ define(["require", "exports"], function (require, exports) {
var privateUse_im_private_mu_public;
exports.publicUse_im_private_mu_public;
});
//// [privacyTopLevelInternalReferenceImportWithoutExport.d.ts]
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
import im_private_c_private = m_private.c_private;
import im_private_e_private = m_private.e_private;
import im_private_i_private = m_private.i_private;
import im_private_mi_private = m_private.mi_private;
import im_private_mu_private = m_private.mu_private;
export declare var publicUse_im_private_c_private: im_private_c_private;
export declare var publicUse_im_private_e_private: im_private_e_private;
export declare var publicUse_im_private_f_private: im_private_c_private;
export declare var publicUse_im_private_v_private: im_private_c_private;
export declare var publicUse_im_private_i_private: im_private_i_private;
export declare var publicUse_im_private_mi_private: im_private_mi_private.c;
export declare var publicUse_im_private_mu_private: im_private_mu_private.i;
import im_private_c_public = m_public.c_public;
import im_private_e_public = m_public.e_public;
import im_private_i_public = m_public.i_public;
import im_private_mi_public = m_public.mi_public;
import im_private_mu_public = m_public.mu_public;
export declare var publicUse_im_private_c_public: im_private_c_public;
export declare var publicUse_im_private_e_public: im_private_e_public;
export declare var publicUse_im_private_f_public: im_private_c_public;
export declare var publicUse_im_private_v_public: number;
export declare var publicUse_im_private_i_public: im_private_i_public;
export declare var publicUse_im_private_mi_public: im_private_mi_public.c;
export declare var publicUse_im_private_mu_public: im_private_mu_public.i;
//// [DtsFileErrors]
==== tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.d.ts (5 errors) ====
export declare module m_public {
class c_public {
}
enum e_public {
Happy = 0,
Grumpy = 1,
}
function f_public(): c_public;
var v_public: number;
interface i_public {
}
module mi_public {
class c {
}
}
module mu_public {
interface i {
}
}
}
import im_private_c_private = m_private.c_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_e_private = m_private.e_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_i_private = m_private.i_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_mi_private = m_private.mi_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
import im_private_mu_private = m_private.mu_private;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Cannot find name 'm_private'.
export declare var publicUse_im_private_c_private: im_private_c_private;
export declare var publicUse_im_private_e_private: im_private_e_private;
export declare var publicUse_im_private_f_private: im_private_c_private;
export declare var publicUse_im_private_v_private: im_private_c_private;
export declare var publicUse_im_private_i_private: im_private_i_private;
export declare var publicUse_im_private_mi_private: im_private_mi_private.c;
export declare var publicUse_im_private_mu_private: im_private_mu_private.i;
import im_private_c_public = m_public.c_public;
import im_private_e_public = m_public.e_public;
import im_private_i_public = m_public.i_public;
import im_private_mi_public = m_public.mi_public;
import im_private_mu_public = m_public.mu_public;
export declare var publicUse_im_private_c_public: im_private_c_public;
export declare var publicUse_im_private_e_public: im_private_e_public;
export declare var publicUse_im_private_f_public: im_private_c_public;
export declare var publicUse_im_private_v_public: number;
export declare var publicUse_im_private_i_public: im_private_i_public;
export declare var publicUse_im_private_mi_public: im_private_mi_public.c;
export declare var publicUse_im_private_mu_public: im_private_mu_public.i;

View file

@ -27,3 +27,11 @@ var thingy = {
me: "A"
};
foo("IN " + thingy.me + "!");
//// [unusedImportDeclaration_testerB.d.ts]
declare class TesterB {
me: string;
}
export = TesterB;
//// [unusedImportDeclaration_testerA.d.ts]

View file

@ -1,3 +1,4 @@
// @declaration: true
module M {
module N {
}

View file

@ -1,3 +1,4 @@
// @declaration: true
module M {
module N {
class C {

View file

@ -1,4 +1,5 @@
//@module: commonjs
// @target: ES5
// @Filename: aliasUsage1_backbone.ts
export class Model {
public someData: string;

View file

@ -1,3 +1,4 @@
// @declaration: true
declare module "SubModule" {
import MainModule = require('MainModule');
class SubModule {

View file

@ -1,6 +1,5 @@
// @declaration: true
// @module: commonjs
// Bug 887180
export module C { export interface I { } }
export import v = C;
export module M {

View file

@ -55,7 +55,6 @@ export module m1 {
//Emit global only usage
import glo_m4 = require("importDecl_require1");
export var useGlo_m4_x4 = glo_m4.x;
export var useGlo_m4_d4 = glo_m4.d;
export var useGlo_m4_f4 = glo_m4.foo();

View file

@ -1,3 +1,4 @@
// @declaration: true
module a.b.c {
export var d;
}

View file

@ -1,3 +1,5 @@
// @module: commonjs
// @declaration: true
// @Filename: consumer.ts
import Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
export var x = 1; // Makes this an external module
interface Iterator<T> {
}

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
export var x = 1; // Makes this an external module
interface Iterator<T> { x: T }

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
export interface A<T> {
f1(callback: (p: T) => any);
}

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
module Foo {
export interface A<T> {
}

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
export = Foo;
interface Foo<T> {

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
// @Filename: privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts
export = Foo;
class Foo<A> {

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
export class A<T1>{
constructor(callback: (self: A<T1>) => void) {
var child = new B(this);

View file

@ -1,3 +1,5 @@
//@module: commonjs
//@declaration: true
function foo() {
}
export var x: typeof foo;

View file

@ -1,3 +1,4 @@
//@declaration: true
module Outer {
module Inner {
export var m: typeof Inner;

View file

@ -1,3 +1,4 @@
//@declaration: true
module m1 {
export module m1_M1_public {
export class c1 {
@ -19,21 +20,21 @@ module m1 {
export var v2: c1;
}
declare export module "m1_M3_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "m1_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
declare module "m1_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//declare module "m1_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
@ -56,31 +57,30 @@ module m1 {
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im3_private = require("m1_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
//import m1_im4_private = require("m1_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
export import m1_im4_public = require("m1_M4_private");
//export import m1_im3_public = require("m1_M3_public");
//export import m1_im4_public = require("m1_M4_private");
}
module glo_M1_public {
@ -104,26 +104,26 @@ declare module "glo_M2_public" {
declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: use_glo_M1_public;
export var use_glo_M1_public_v2_public: typeof use_glo_M1_public;
export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: use_glo_M1_public;
var use_glo_M1_public_v2_private: typeof use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: use_glo_M2_public;
export var use_glo_M2_public_v2_public: typeof use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: use_glo_M2_public;
var use_glo_M2_public_v2_private: typeof use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
//import errorImport = require("glo_M2_public");
import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
//import m5_errorImport = require("glo_M2_public");
import m5_nonerrorImport = glo_M1_public;
}
}
@ -131,23 +131,23 @@ declare module "use_glo_M1_public" {
declare module "anotherParseError" {
module m2 {
declare module "abc" {
}
//declare module "abc" {
//}
}
module m2 {
module "abc2" {
}
}
module "abc3" {
//module "abc2" {
//}
}
//module "abc3" {
//}
}
module m2 {
import m3 = require("use_glo_M1_public");
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
//import m2 = require("use_glo_M1_public");
}
}

View file

@ -0,0 +1,153 @@
//@declaration: true
module m1 {
export module m1_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m1_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "m1_M3_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "m1_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
export import m1_im4_public = require("m1_M4_private");
}
module glo_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
declare module "glo_M2_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: typeof use_glo_M1_public;
export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: typeof use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: typeof use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: typeof use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
import m5_nonerrorImport = glo_M1_public;
}
}
}
declare module "anotherParseError" {
module m2 {
declare module "abc" {
}
}
module m2 {
module "abc2" {
}
}
module "abc3" {
}
}
module m2 {
import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
}
}

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
export module m1 {
export module m1_M1_public {
export class c1 {
@ -20,21 +21,21 @@ export module m1 {
export var v2: c1;
}
export declare module "m1_M3_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "m1_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
declare module "m1_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//declare module "m1_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
@ -57,30 +58,30 @@ export module m1 {
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im3_private = require("m1_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
//import m1_im4_private = require("m1_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
export import m1_im4_public = require("m1_M4_private");
//export import m1_im3_public = require("m1_M3_public");
//export import m1_im4_public = require("m1_M4_private");
}
module m2 {
@ -104,21 +105,21 @@ module m2 {
export var v2: c1;
}
export declare module "m2_M3_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "m2_M3_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
declare module "m2_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//declare module "m2_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import m1_im1_private = m2_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
@ -141,31 +142,31 @@ module m2 {
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m2_M3_public");
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
//import m1_im3_private = require("m2_M3_public");
//export var m1_im3_private_v1_public = m1_im3_private.c1;
//export var m1_im3_private_v2_public = new m1_im3_private.c1();
//export var m1_im3_private_v3_public = m1_im3_private.f1;
//export var m1_im3_private_v4_public = m1_im3_private.f1();
//var m1_im3_private_v1_private = m1_im3_private.c1;
//var m1_im3_private_v2_private = new m1_im3_private.c1();
//var m1_im3_private_v3_private = m1_im3_private.f1;
//var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m2_M4_private");
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
//import m1_im4_private = require("m2_M4_private");
//export var m1_im4_private_v1_public = m1_im4_private.c1;
//export var m1_im4_private_v2_public = new m1_im4_private.c1();
//export var m1_im4_private_v3_public = m1_im4_private.f1;
//export var m1_im4_private_v4_public = m1_im4_private.f1();
//var m1_im4_private_v1_private = m1_im4_private.c1;
//var m1_im4_private_v2_private = new m1_im4_private.c1();
//var m1_im4_private_v3_private = m1_im4_private.f1;
//var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m2_M1_public;
export import m1_im2_public = m2_M2_private;
export import m1_im3_public = require("m2_M3_public");
export import m1_im4_public = require("m2_M4_private");
//export import m1_im3_public = require("m2_M3_public");
//export import m1_im4_public = require("m2_M4_private");
}
export module glo_M1_public {
@ -178,13 +179,13 @@ export module glo_M1_public {
export var v2: c1;
}
export declare module "glo_M2_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "glo_M2_public" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
export module glo_M3_private {
export class c1 {
@ -196,13 +197,13 @@ export module glo_M3_private {
export var v2: c1;
}
export declare module "glo_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
//export declare module "glo_M4_private" {
// export function f1();
// export class c1 {
// }
// export var v1: { new (): c1; };
// export var v2: c1;
//}
import glo_im1_private = glo_M1_public;
@ -216,15 +217,15 @@ var glo_im1_private_v3_private = glo_im1_private.f1;
var glo_im1_private_v4_private = glo_im1_private.f1();
import glo_im2_private = require("glo_M2_public");
export var glo_im2_private_v1_public = glo_im2_private.c1;
export var glo_im2_private_v2_public = new glo_im2_private.c1();
export var glo_im2_private_v3_public = glo_im2_private.f1;
export var glo_im2_private_v4_public = glo_im2_private.f1();
var glo_im2_private_v1_private = glo_im2_private.c1;
var glo_im2_private_v2_private = new glo_im2_private.c1();
var glo_im2_private_v3_private = glo_im2_private.f1;
var glo_im2_private_v4_private = glo_im2_private.f1();
//import glo_im2_private = require("glo_M2_public");
//export var glo_im2_private_v1_public = glo_im2_private.c1;
//export var glo_im2_private_v2_public = new glo_im2_private.c1();
//export var glo_im2_private_v3_public = glo_im2_private.f1;
//export var glo_im2_private_v4_public = glo_im2_private.f1();
//var glo_im2_private_v1_private = glo_im2_private.c1;
//var glo_im2_private_v2_private = new glo_im2_private.c1();
//var glo_im2_private_v3_private = glo_im2_private.f1;
//var glo_im2_private_v4_private = glo_im2_private.f1();
import glo_im3_private = glo_M3_private;
export var glo_im3_private_v1_public = glo_im3_private.c1;
@ -236,122 +237,122 @@ var glo_im3_private_v2_private = new glo_im3_private.c1();
var glo_im3_private_v3_private = glo_im3_private.f1;
var glo_im3_private_v4_private = glo_im3_private.f1();
import glo_im4_private = require("glo_M4_private");
export var glo_im4_private_v1_public = glo_im4_private.c1;
export var glo_im4_private_v2_public = new glo_im4_private.c1();
export var glo_im4_private_v3_public = glo_im4_private.f1;
export var glo_im4_private_v4_public = glo_im4_private.f1();
var glo_im4_private_v1_private = glo_im4_private.c1;
var glo_im4_private_v2_private = new glo_im4_private.c1();
var glo_im4_private_v3_private = glo_im4_private.f1;
var glo_im4_private_v4_private = glo_im4_private.f1();
//import glo_im4_private = require("glo_M4_private");
//export var glo_im4_private_v1_public = glo_im4_private.c1;
//export var glo_im4_private_v2_public = new glo_im4_private.c1();
//export var glo_im4_private_v3_public = glo_im4_private.f1;
//export var glo_im4_private_v4_public = glo_im4_private.f1();
//var glo_im4_private_v1_private = glo_im4_private.c1;
//var glo_im4_private_v2_private = new glo_im4_private.c1();
//var glo_im4_private_v3_private = glo_im4_private.f1;
//var glo_im4_private_v4_private = glo_im4_private.f1();
// Parse error to export module
export import glo_im1_public = glo_M1_public;
export import glo_im2_public = glo_M3_private;
export import glo_im3_public = require("glo_M2_public");
export import glo_im4_public = require("glo_M4_private");
//export import glo_im3_public = require("glo_M2_public");
//export import glo_im4_public = require("glo_M4_private");
export declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: use_glo_M1_public;
export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
//export declare module "use_glo_M1_public" {
// import use_glo_M1_public = glo_M1_public;
// export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
// export var use_glo_M1_public_v2_public: use_glo_M1_public;
// export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
// var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
// var use_glo_M1_public_v2_private: use_glo_M1_public;
// var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
// import use_glo_M2_public = require("glo_M2_public");
// export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
// export var use_glo_M2_public_v2_public: use_glo_M2_public;
// export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
// var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
// var use_glo_M2_public_v2_private: use_glo_M2_public;
// var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
import nonerrorImport = glo_M1_public;
// module m2 {
// import errorImport = require("glo_M2_public");
// import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
import m5_nonerrorImport = glo_M1_public;
}
}
}
// module m5 {
// import m5_errorImport = require("glo_M2_public");
// import m5_nonerrorImport = glo_M1_public;
// }
// }
//}
declare module "use_glo_M3_private" {
import use_glo_M3_private = glo_M3_private;
export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
export var use_glo_M3_private_v2_public: use_glo_M3_private;
export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
var use_glo_M3_private_v2_private: use_glo_M3_private;
var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
//declare module "use_glo_M3_private" {
// import use_glo_M3_private = glo_M3_private;
// export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
// export var use_glo_M3_private_v2_public: use_glo_M3_private;
// export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
// var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
// var use_glo_M3_private_v2_private: use_glo_M3_private;
// var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
import use_glo_M4_private = require("glo_M4_private");
export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
export var use_glo_M4_private_v2_public: use_glo_M4_private;
export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
var use_glo_M4_private_v2_private: use_glo_M4_private;
var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
// import use_glo_M4_private = require("glo_M4_private");
// export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
// export var use_glo_M4_private_v2_public: use_glo_M4_private;
// export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
// var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
// var use_glo_M4_private_v2_private: use_glo_M4_private;
// var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
module m2 {
import errorImport = require("glo_M4_private");
import nonerrorImport = glo_M3_private;
// module m2 {
// import errorImport = require("glo_M4_private");
// import nonerrorImport = glo_M3_private;
module m5 {
import m5_errorImport = require("glo_M4_private");
import m5_nonerrorImport = glo_M3_private;
}
}
}
// module m5 {
// import m5_errorImport = require("glo_M4_private");
// import m5_nonerrorImport = glo_M3_private;
// }
// }
//}
declare module "anotherParseError" {
module m2 {
declare module "abc" {
}
}
//declare module "anotherParseError" {
// module m2 {
// declare module "abc" {
// }
// }
module m2 {
module "abc2" {
}
}
module "abc3" {
}
}
// module m2 {
// module "abc2" {
// }
// }
// module "abc3" {
// }
//}
declare export module "anotherParseError2" {
module m2 {
declare module "abc" {
}
}
//declare export module "anotherParseError2" {
// module m2 {
// declare module "abc" {
// }
// }
module m2 {
module "abc2" {
}
}
module "abc3" {
}
}
// module m2 {
// module "abc2" {
// }
// }
// module "abc3" {
// }
//}
module m2 {
import m3 = require("use_glo_M1_public");
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
//import m2 = require("use_glo_M1_public");
}
}
export module m3 {
import m3 = require("use_glo_M1_public");
//import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
//import m2 = require("use_glo_M1_public");
}
}

View file

@ -0,0 +1,357 @@
//@module: commonjs
export module m1 {
export module m1_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m1_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "m1_M3_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "m1_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import m1_im1_private = m1_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m1_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m1_M3_public");
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m1_M4_private");
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
export import m1_im1_public = m1_M1_public;
export import m1_im2_public = m1_M2_private;
export import m1_im3_public = require("m1_M3_public");
export import m1_im4_public = require("m1_M4_private");
}
module m2 {
export module m2_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
module m2_M2_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "m2_M3_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
declare module "m2_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import m1_im1_private = m2_M1_public;
export var m1_im1_private_v1_public = m1_im1_private.c1;
export var m1_im1_private_v2_public = new m1_im1_private.c1();
export var m1_im1_private_v3_public = m1_im1_private.f1;
export var m1_im1_private_v4_public = m1_im1_private.f1();
var m1_im1_private_v1_private = m1_im1_private.c1;
var m1_im1_private_v2_private = new m1_im1_private.c1();
var m1_im1_private_v3_private = m1_im1_private.f1;
var m1_im1_private_v4_private = m1_im1_private.f1();
import m1_im2_private = m2_M2_private;
export var m1_im2_private_v1_public = m1_im2_private.c1;
export var m1_im2_private_v2_public = new m1_im2_private.c1();
export var m1_im2_private_v3_public = m1_im2_private.f1;
export var m1_im2_private_v4_public = m1_im2_private.f1();
var m1_im2_private_v1_private = m1_im2_private.c1;
var m1_im2_private_v2_private = new m1_im2_private.c1();
var m1_im2_private_v3_private = m1_im2_private.f1;
var m1_im2_private_v4_private = m1_im2_private.f1();
import m1_im3_private = require("m2_M3_public");
export var m1_im3_private_v1_public = m1_im3_private.c1;
export var m1_im3_private_v2_public = new m1_im3_private.c1();
export var m1_im3_private_v3_public = m1_im3_private.f1;
export var m1_im3_private_v4_public = m1_im3_private.f1();
var m1_im3_private_v1_private = m1_im3_private.c1;
var m1_im3_private_v2_private = new m1_im3_private.c1();
var m1_im3_private_v3_private = m1_im3_private.f1;
var m1_im3_private_v4_private = m1_im3_private.f1();
import m1_im4_private = require("m2_M4_private");
export var m1_im4_private_v1_public = m1_im4_private.c1;
export var m1_im4_private_v2_public = new m1_im4_private.c1();
export var m1_im4_private_v3_public = m1_im4_private.f1;
export var m1_im4_private_v4_public = m1_im4_private.f1();
var m1_im4_private_v1_private = m1_im4_private.c1;
var m1_im4_private_v2_private = new m1_im4_private.c1();
var m1_im4_private_v3_private = m1_im4_private.f1;
var m1_im4_private_v4_private = m1_im4_private.f1();
// Parse error to export module
export import m1_im1_public = m2_M1_public;
export import m1_im2_public = m2_M2_private;
export import m1_im3_public = require("m2_M3_public");
export import m1_im4_public = require("m2_M4_private");
}
export module glo_M1_public {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "glo_M2_public" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
export module glo_M3_private {
export class c1 {
}
export function f1() {
return new c1;
}
export var v1 = c1;
export var v2: c1;
}
export declare module "glo_M4_private" {
export function f1();
export class c1 {
}
export var v1: { new (): c1; };
export var v2: c1;
}
import glo_im1_private = glo_M1_public;
export var glo_im1_private_v1_public = glo_im1_private.c1;
export var glo_im1_private_v2_public = new glo_im1_private.c1();
export var glo_im1_private_v3_public = glo_im1_private.f1;
export var glo_im1_private_v4_public = glo_im1_private.f1();
var glo_im1_private_v1_private = glo_im1_private.c1;
var glo_im1_private_v2_private = new glo_im1_private.c1();
var glo_im1_private_v3_private = glo_im1_private.f1;
var glo_im1_private_v4_private = glo_im1_private.f1();
import glo_im2_private = require("glo_M2_public");
export var glo_im2_private_v1_public = glo_im2_private.c1;
export var glo_im2_private_v2_public = new glo_im2_private.c1();
export var glo_im2_private_v3_public = glo_im2_private.f1;
export var glo_im2_private_v4_public = glo_im2_private.f1();
var glo_im2_private_v1_private = glo_im2_private.c1;
var glo_im2_private_v2_private = new glo_im2_private.c1();
var glo_im2_private_v3_private = glo_im2_private.f1;
var glo_im2_private_v4_private = glo_im2_private.f1();
import glo_im3_private = glo_M3_private;
export var glo_im3_private_v1_public = glo_im3_private.c1;
export var glo_im3_private_v2_public = new glo_im3_private.c1();
export var glo_im3_private_v3_public = glo_im3_private.f1;
export var glo_im3_private_v4_public = glo_im3_private.f1();
var glo_im3_private_v1_private = glo_im3_private.c1;
var glo_im3_private_v2_private = new glo_im3_private.c1();
var glo_im3_private_v3_private = glo_im3_private.f1;
var glo_im3_private_v4_private = glo_im3_private.f1();
import glo_im4_private = require("glo_M4_private");
export var glo_im4_private_v1_public = glo_im4_private.c1;
export var glo_im4_private_v2_public = new glo_im4_private.c1();
export var glo_im4_private_v3_public = glo_im4_private.f1;
export var glo_im4_private_v4_public = glo_im4_private.f1();
var glo_im4_private_v1_private = glo_im4_private.c1;
var glo_im4_private_v2_private = new glo_im4_private.c1();
var glo_im4_private_v3_private = glo_im4_private.f1;
var glo_im4_private_v4_private = glo_im4_private.f1();
// Parse error to export module
export import glo_im1_public = glo_M1_public;
export import glo_im2_public = glo_M3_private;
export import glo_im3_public = require("glo_M2_public");
export import glo_im4_public = require("glo_M4_private");
export declare module "use_glo_M1_public" {
import use_glo_M1_public = glo_M1_public;
export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; };
export var use_glo_M1_public_v2_public: use_glo_M1_public;
export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1;
var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; };
var use_glo_M1_public_v2_private: use_glo_M1_public;
var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1;
import use_glo_M2_public = require("glo_M2_public");
export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; };
export var use_glo_M2_public_v2_public: use_glo_M2_public;
export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1;
var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; };
var use_glo_M2_public_v2_private: use_glo_M2_public;
var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1;
module m2 {
import errorImport = require("glo_M2_public");
import nonerrorImport = glo_M1_public;
module m5 {
import m5_errorImport = require("glo_M2_public");
import m5_nonerrorImport = glo_M1_public;
}
}
}
declare module "use_glo_M3_private" {
import use_glo_M3_private = glo_M3_private;
export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; };
export var use_glo_M3_private_v2_public: use_glo_M3_private;
export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1;
var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; };
var use_glo_M3_private_v2_private: use_glo_M3_private;
var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1;
import use_glo_M4_private = require("glo_M4_private");
export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; };
export var use_glo_M4_private_v2_public: use_glo_M4_private;
export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1;
var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; };
var use_glo_M4_private_v2_private: use_glo_M4_private;
var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1;
module m2 {
import errorImport = require("glo_M4_private");
import nonerrorImport = glo_M3_private;
module m5 {
import m5_errorImport = require("glo_M4_private");
import m5_nonerrorImport = glo_M3_private;
}
}
}
declare module "anotherParseError" {
module m2 {
declare module "abc" {
}
}
module m2 {
module "abc2" {
}
}
module "abc3" {
}
}
declare export module "anotherParseError2" {
module m2 {
declare module "abc" {
}
}
module m2 {
module "abc2" {
}
}
module "abc3" {
}
}
module m2 {
import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
}
}
export module m3 {
import m3 = require("use_glo_M1_public");
module m4 {
var a = 10;
import m2 = require("use_glo_M1_public");
}
}

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
// private elements
module m_private {
export class c_private {

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
// private elements
module m_private {
export class c_private {

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
// @Filename: privacyTopLevelAmbientExternalModuleImportWithExport_require.ts
// Public elements
export class c_public {
@ -28,6 +29,8 @@ declare module 'm2' {
}
// @Filename: privacyTopLevelAmbientExternalModuleImportWithExport_core.ts
///<reference path='privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts'/>
///<reference path='privacyTopLevelAmbientExternalModuleImportWithExport_require3.ts'/>
// Privacy errors - importing private elements
export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
@ -35,11 +38,11 @@ export import im_public_mi_public = require("m");
export import im_public_mu_public = require("m2");
// Usage of privacy error imports
var privateUse_im_public_mi_private = new im_public_mi_private.c_private();
export var publicUse_im_public_mi_private = new im_public_mi_private.c_private();
var privateUse_im_public_mu_private = new im_public_mu_private.c_private();
export var publicUse_im_public_mu_private = new im_public_mu_private.c_private();
var privateUse_im_public_mi_public = new im_public_mi_public.c_public();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_public();
var privateUse_im_public_mi_public = new im_public_mi_public.c_public();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_public();
var privateUse_im_public_mi_private = new im_public_mi_private.c_public();
export var publicUse_im_public_mi_private = new im_public_mi_private.c_public();
var privateUse_im_public_mu_private = new im_public_mu_private.c_public();
export var publicUse_im_public_mu_private = new im_public_mu_private.c_public();
var privateUse_im_public_mi_public = new im_public_mi_public.c_private();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_private();
var privateUse_im_public_mi_public = new im_public_mi_public.c_private();
export var publicUse_im_public_mi_public = new im_public_mi_public.c_private();

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
// @Filename: privacyTopLevelAmbientExternalModuleImportWithoutExport_require.ts
// Public elements
@ -28,6 +29,8 @@ declare module 'm2' {
}
// @Filename: privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts
///<reference path='privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.ts'/>
///<reference path='privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.ts'/>
// Privacy errors - importing private elements
import im_private_mi_private = require("m");
import im_private_mu_private = require("m2");

View file

@ -1,4 +1,5 @@
//@module: amd
//@declaration: true
// private elements
module m_private {
export class c_private {

View file

@ -1,4 +1,6 @@
//@module: amd
//@declaration: true
// private elements
module m_private {
export class c_private {

View file

@ -1,4 +1,5 @@
//@module: commonjs
//@declaration: true
// @Filename: unusedImportDeclaration_testerB.ts
class TesterB {
me: string;