Merge pull request #410 from Microsoft/chainedImport

Emit the alias if it is indirectly used in export assignment
This commit is contained in:
Sheetal Nandi
2014-08-13 18:07:50 -07:00
636 changed files with 5476 additions and 2152 deletions
+16 -15
View File
@@ -1064,30 +1064,31 @@ module ts {
// This is export assigned symbol node
var externalModuleSymbol = getSymbolOfNode(externalModule);
var exportAssignmentSymbol = getExportAssignmentSymbol(externalModuleSymbol);
var resolvedExportSymbol: Symbol;
var symbolOfNode = getSymbolOfNode(node);
if (exportAssignmentSymbol === symbolOfNode) {
if (isSymbolUsedInExportAssignment(symbolOfNode)) {
return true;
}
// if symbolOfNode is import declaration, resolve the symbol declaration and check
if (symbolOfNode.flags & SymbolFlags.Import) {
return isSymbolUsedInExportAssignment(resolveImport(symbolOfNode));
}
}
// Check if the symbol is used in export assignment
function isSymbolUsedInExportAssignment(symbol: Symbol) {
if (exportAssignmentSymbol === symbol) {
return true;
}
if (exportAssignmentSymbol && !!(exportAssignmentSymbol.flags & SymbolFlags.Import)) {
// if export assigned symbol is import declaration, resolve the import
var resolvedExportSymbol = resolveImport(exportAssignmentSymbol);
if (resolvedExportSymbol === symbolOfNode) {
resolvedExportSymbol = resolvedExportSymbol || resolveImport(exportAssignmentSymbol);
if (resolvedExportSymbol === symbol) {
return true;
}
// TODO(shkamat): Chained import assignment
// eg. a should be visible too.
//module m {
// export module c {
// export class c {
// }
// }
//}
//import a = m.c;
//import b = a;
//export = b;
// Container of resolvedExportSymbol is visible
return forEach(resolvedExportSymbol.declarations, declaration => {
while (declaration) {
+2 -88
View File
@@ -122,93 +122,7 @@ class CompilerBaselineRunner extends RunnerBase {
otherFiles: { unitName: string; content: string }[],
result: Harness.Compiler.CompilerResult
) {
var outputLines: string[] = [];
// Count up all the errors we find so we don't miss any
var totalErrorsReported = 0;
function outputErrorText(error: Harness.Compiler.MinimalDiagnostic) {
var errLines = RunnerBase.removeFullPaths(error.message)
.split('\n')
.map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s)
.filter(s => s.length > 0)
.map(s => '!!! ' + s);
errLines.forEach(e => outputLines.push(e));
totalErrorsReported++;
}
// Report glovbal errors:
var globalErrors = result.errors.filter(err => !err.filename);
globalErrors.forEach(err => outputErrorText(err));
// 'merge' the lines of each input file with any errors associated with it
toBeCompiled.concat(otherFiles).forEach(inputFile => {
// Filter down to the errors in the file
var fileErrors = result.errors.filter(e => {
var errFn = e.filename;
return errFn && errFn === inputFile.unitName;
});
// Header
outputLines.push('==== ' + inputFile.unitName + ' (' + fileErrors.length + ' errors) ====');
// Make sure we emit something for every error
var markedErrorCount = 0;
// For each line, emit the line followed by any error squiggles matching this line
// Note: IE JS engine incorrectly handles consecutive delimiters here when using RegExp split, so
// we have to string-based splitting instead and try to figure out the delimiting chars
var lineStarts = ts.getLineStarts(inputFile.content);
var lines = inputFile.content.split('\n');
lines.forEach((line, lineIndex) => {
if (line.length > 0 && line.charAt(line.length - 1) === '\r') {
line = line.substr(0, line.length - 1);
}
var thisLineStart = lineStarts[lineIndex];
var nextLineStart: number;
// On the last line of the file, fake the next line start number so that we handle errors on the last character of the file correctly
if (lineIndex === lines.length - 1) {
nextLineStart = inputFile.content.length;
} else {
nextLineStart = lineStarts[lineIndex + 1];
}
// Emit this line from the original file
outputLines.push(' ' + line);
fileErrors.forEach(err => {
// Does any error start or continue on to this line? Emit squiggles
if ((err.end >= thisLineStart) && ((err.start < nextLineStart) || (lineIndex === lines.length - 1))) {
// How many characters from the start of this line the error starts at (could be positive or negative)
var relativeOffset = err.start - thisLineStart;
// How many characters of the error are on this line (might be longer than this line in reality)
var length = (err.end - err.start) - Math.max(0, thisLineStart - err.start);
// Calculate the start of the squiggle
var squiggleStart = Math.max(0, relativeOffset);
// TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another
outputLines.push(' ' + line.substr(0, squiggleStart).replace(/[^\s]/g, ' ') + new Array(Math.min(length, line.length - squiggleStart) + 1).join('~'));
// If the error ended here, or we're at the end of the file, emit its message
if ((lineIndex === lines.length - 1) || nextLineStart > err.end) {
// Just like above, we need to do a split on a string instead of on a regex
// because the JS engine does regexes wrong
outputErrorText(err);
markedErrorCount++;
}
}
});
});
// Verify we didn't miss any errors in this file
assert.equal(markedErrorCount, fileErrors.length, 'count of errors in ' + inputFile.unitName);
});
// Verify we didn't miss any errors in total
assert.equal(totalErrorsReported, result.errors.length, 'total number of errors');
return outputLines.join('\r\n');
return Harness.Compiler.getErrorBaseline(toBeCompiled.concat(otherFiles), result.errors);
}
// check errors
@@ -246,7 +160,7 @@ class CompilerBaselineRunner extends RunnerBase {
var declFile = ts.forEach(result.declFilesCode,
declFile => declFile.fileName === (file.unitName.substr(0, file.unitName.length - ".ts".length) + ".d.ts")
? declFile : undefined);
return { unitName: rootDir + Harness.Path.getFileName(declFile.fileName), content: declFile.code };
return { unitName: declFile.fileName, content: declFile.code };
}
}
+97 -1
View File
@@ -747,7 +747,7 @@ module Harness {
var errors: MinimalDiagnostic[] = [];
program.getDiagnostics().concat(checker.getDiagnostics()).concat(emitResult ? emitResult.errors : []).forEach(err => {
// TODO: new compiler formats errors after this point to add . and newlines so we'll just do it manually for now
errors.push({ filename: err.file && err.file.filename, start: err.start, end: err.start + err.length, line: 0, character: 0, message: err.messageText });
errors.push(getMinimalDiagnostic(err));
});
this.lastErrors = errors;
@@ -762,6 +762,102 @@ module Harness {
}
}
export function getMinimalDiagnostic(err: ts.Diagnostic): MinimalDiagnostic {
return { filename: err.file && err.file.filename, start: err.start, end: err.start + err.length, line: 0, character: 0, message: err.messageText };
}
export function getErrorBaseline(inputFiles: { unitName: string; content: string }[],
diagnostics: MinimalDiagnostic[]
) {
var outputLines: string[] = [];
// Count up all the errors we find so we don't miss any
var totalErrorsReported = 0;
function outputErrorText(error: Harness.Compiler.MinimalDiagnostic) {
var errLines = RunnerBase.removeFullPaths(error.message)
.split('\n')
.map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s)
.filter(s => s.length > 0)
.map(s => '!!! ' + s);
errLines.forEach(e => outputLines.push(e));
totalErrorsReported++;
}
// Report glovbal errors:
var globalErrors = diagnostics.filter(err => !err.filename);
globalErrors.forEach(err => outputErrorText(err));
// 'merge' the lines of each input file with any errors associated with it
inputFiles.forEach(inputFile => {
// Filter down to the errors in the file
var fileErrors = diagnostics.filter(e => {
var errFn = e.filename;
return errFn && errFn === inputFile.unitName;
});
// Header
outputLines.push('==== ' + inputFile.unitName + ' (' + fileErrors.length + ' errors) ====');
// Make sure we emit something for every error
var markedErrorCount = 0;
// For each line, emit the line followed by any error squiggles matching this line
// Note: IE JS engine incorrectly handles consecutive delimiters here when using RegExp split, so
// we have to string-based splitting instead and try to figure out the delimiting chars
var lineStarts = ts.getLineStarts(inputFile.content);
var lines = inputFile.content.split('\n');
lines.forEach((line, lineIndex) => {
if (line.length > 0 && line.charAt(line.length - 1) === '\r') {
line = line.substr(0, line.length - 1);
}
var thisLineStart = lineStarts[lineIndex];
var nextLineStart: number;
// On the last line of the file, fake the next line start number so that we handle errors on the last character of the file correctly
if (lineIndex === lines.length - 1) {
nextLineStart = inputFile.content.length;
} else {
nextLineStart = lineStarts[lineIndex + 1];
}
// Emit this line from the original file
outputLines.push(' ' + line);
fileErrors.forEach(err => {
// Does any error start or continue on to this line? Emit squiggles
if ((err.end >= thisLineStart) && ((err.start < nextLineStart) || (lineIndex === lines.length - 1))) {
// How many characters from the start of this line the error starts at (could be positive or negative)
var relativeOffset = err.start - thisLineStart;
// How many characters of the error are on this line (might be longer than this line in reality)
var length = (err.end - err.start) - Math.max(0, thisLineStart - err.start);
// Calculate the start of the squiggle
var squiggleStart = Math.max(0, relativeOffset);
// TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another
outputLines.push(' ' + line.substr(0, squiggleStart).replace(/[^\s]/g, ' ') + new Array(Math.min(length, line.length - squiggleStart) + 1).join('~'));
// If the error ended here, or we're at the end of the file, emit its message
if ((lineIndex === lines.length - 1) || nextLineStart > err.end) {
// Just like above, we need to do a split on a string instead of on a regex
// because the JS engine does regexes wrong
outputErrorText(err);
markedErrorCount++;
}
}
});
});
// Verify we didn't miss any errors in this file
assert.equal(markedErrorCount, fileErrors.length, 'count of errors in ' + inputFile.unitName);
});
// Verify we didn't miss any errors in total
assert.equal(totalErrorsReported, diagnostics.length, 'total number of errors');
return outputLines.join('\r\n');
}
/* TODO: Delete?
export function makeDefaultCompilerSettings(options?: { useMinimalDefaultLib: boolean; noImplicitAny: boolean; }) {
var useMinimalDefaultLib = options ? options.useMinimalDefaultLib : true;
+137 -80
View File
@@ -31,13 +31,15 @@ interface BatchCompileProjectTestCaseEmittedFile {
fileName: string;
}
interface BatchCompileProjectTestCaseResult {
interface CompileProjectFilesResult {
moduleKind: ts.ModuleKind;
program: ts.Program;
readInputFiles: ts.SourceFile[];
sourceMapData: ts.SourceMapData[];
outputFiles: BatchCompileProjectTestCaseEmittedFile[];
errors: ts.Diagnostic[];
sourceMapData: ts.SourceMapData[];
}
interface BatchCompileProjectTestCaseResult extends CompileProjectFilesResult {
outputFiles: BatchCompileProjectTestCaseEmittedFile[];
nonSubfolderDiskFiles: number;
}
@@ -116,13 +118,43 @@ class ProjectRunner extends RunnerBase {
return url;
}
function batchCompilerProjectTestCase(moduleKind: ts.ModuleKind): BatchCompileProjectTestCaseResult{
var nonSubfolderDiskFiles = 0;
var readInputFiles: ts.SourceFile[] = [];
function getCurrentDirectory() {
return sys.resolvePath(testCase.projectRoot);
}
function compileProjectFiles(moduleKind: ts.ModuleKind, getInputFiles: ()=> string[],
getSourceFileText: (filename: string) => string,
writeFile: (filename: string, data: string) => void): CompileProjectFilesResult {
var program = ts.createProgram(getInputFiles(), createCompilerOptions(), createCompilerHost());
var errors = program.getDiagnostics();
var sourceMapData: ts.SourceMapData[] = null;
var outputFiles: BatchCompileProjectTestCaseEmittedFile[] = [];
if (!errors.length) {
var checker = program.getTypeChecker();
errors = checker.getDiagnostics();
var emitResult = checker.emitFiles();
errors = ts.concatenate(errors, emitResult.errors);
sourceMapData = emitResult.sourceMaps;
// Clean up source map data that will be used in baselining
if (sourceMapData) {
for (var i = 0; i < sourceMapData.length; i++) {
for (var j = 0; j < sourceMapData[i].sourceMapSources.length; j++) {
sourceMapData[i].sourceMapSources[j] = cleanProjectUrl(sourceMapData[i].sourceMapSources[j]);
}
sourceMapData[i].jsSourceMappingURL = cleanProjectUrl(sourceMapData[i].jsSourceMappingURL);
sourceMapData[i].sourceMapSourceRoot = cleanProjectUrl(sourceMapData[i].sourceMapSourceRoot);
}
}
}
return {
moduleKind: moduleKind,
program: program,
errors: errors,
sourceMapData: sourceMapData
};
function createCompilerOptions(): ts.CompilerOptions {
return {
@@ -142,28 +174,55 @@ class ProjectRunner extends RunnerBase {
sourceFile = ts.createSourceFile('lib.d.ts', Harness.Compiler.libTextMinimal, languageVersion, ts.ByteOrderMark.None);
}
else {
assert.isTrue(!ts.filter(readInputFiles, sourceFile => sourceFile.filename == filename).length, "Compiler trying to read same file again: " + filename);
try {
var text = sys.readFile(ts.isRootedDiskPath(filename)
? filename
: ts.normalizeSlashes(testCase.projectRoot) + "/" + ts.normalizeSlashes(filename));
}
catch (e) {
// text doesn't get defined.
}
var text = getSourceFileText(filename);
if (text !== undefined) {
sourceFile = ts.createSourceFile(filename, text, languageVersion, ts.ByteOrderMark.None);
}
}
if (sourceFile) {
readInputFiles.push(sourceFile);
}
return sourceFile;
}
function createCompilerHost(): ts.CompilerHost {
return {
getSourceFile: getSourceFile,
getDefaultLibFilename: () => "lib.d.ts",
writeFile: writeFile,
getCurrentDirectory: getCurrentDirectory,
getCanonicalFileName: ts.getCanonicalFileName,
useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames,
getNewLine: () => sys.newLine
};
}
}
function batchCompilerProjectTestCase(moduleKind: ts.ModuleKind): BatchCompileProjectTestCaseResult{
var nonSubfolderDiskFiles = 0;
var outputFiles: BatchCompileProjectTestCaseEmittedFile[] = [];
var projectCompilerResult = compileProjectFiles(moduleKind, () => testCase.inputFiles, getSourceFileText, writeFile);
return {
moduleKind: moduleKind,
program: projectCompilerResult.program,
sourceMapData: projectCompilerResult.sourceMapData,
outputFiles: outputFiles,
errors: projectCompilerResult.errors,
nonSubfolderDiskFiles: nonSubfolderDiskFiles,
};
function getSourceFileText(filename: string): string {
try {
var text = sys.readFile(ts.isRootedDiskPath(filename)
? filename
: ts.normalizeSlashes(testCase.projectRoot) + "/" + ts.normalizeSlashes(filename));
}
catch (e) {
// text doesn't get defined.
}
return text;
}
function writeFile(filename: string, data: string) {
var diskFileName = ts.isRootedDiskPath(filename)
? filename
@@ -211,53 +270,55 @@ class ProjectRunner extends RunnerBase {
outputFiles.push({ emittedFileName: filename, code: data, fileName: diskRelativeName });
}
}
function getCurrentDirectory() {
return sys.resolvePath(testCase.projectRoot);
function compileCompileDTsFiles(compilerResult: BatchCompileProjectTestCaseResult) {
var inputDtsSourceFiles = ts.map(ts.filter(compilerResult.program.getSourceFiles(),
sourceFile => Harness.Compiler.isDTS(sourceFile.filename)),
sourceFile => {
return { emittedFileName: sourceFile.filename, code: sourceFile.text };
});
var ouputDtsFiles = ts.filter(compilerResult.outputFiles, ouputFile => Harness.Compiler.isDTS(ouputFile.emittedFileName));
var allInputFiles = inputDtsSourceFiles.concat(ouputDtsFiles);
return compileProjectFiles(compilerResult.moduleKind,getInputFiles, getSourceFileText, writeFile);
function getInputFiles() {
return ts.map(allInputFiles, outputFile => outputFile.emittedFileName);
}
function getSourceFileText(filename: string): string {
return ts.forEach(allInputFiles, inputFile => inputFile.emittedFileName === filename ? inputFile.code : undefined);
}
function createCompilerHost(): ts.CompilerHost {
return {
getSourceFile: getSourceFile,
getDefaultLibFilename: () => "lib.d.ts",
writeFile: writeFile,
getCurrentDirectory: getCurrentDirectory,
getCanonicalFileName: ts.getCanonicalFileName,
useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames,
getNewLine:()=> sys.newLine
};
function writeFile(filename: string, data: string) {
}
}
var program = ts.createProgram(testCase.inputFiles, createCompilerOptions(), createCompilerHost());
var errors = program.getDiagnostics();
if (!errors.length) {
var checker = program.getTypeChecker();
errors = checker.getDiagnostics();
var emitResult = checker.emitFiles();
errors = ts.concatenate(errors, emitResult.errors);
sourceMapData = emitResult.sourceMaps;
// Clean up source map data that will be used in baselining
if (sourceMapData) {
for (var i = 0; i < sourceMapData.length; i++) {
for (var j = 0; j < sourceMapData[i].sourceMapSources.length; j++) {
sourceMapData[i].sourceMapSources[j] = cleanProjectUrl(sourceMapData[i].sourceMapSources[j]);
}
sourceMapData[i].jsSourceMappingURL = cleanProjectUrl(sourceMapData[i].jsSourceMappingURL);
sourceMapData[i].sourceMapSourceRoot = cleanProjectUrl(sourceMapData[i].sourceMapSourceRoot);
}
function getErrorsBaseline(compilerResult: CompileProjectFilesResult) {
// This is copied from tc.ts's reportError to replicate what tc does
var errors = "";
for (var i = 0; i < compilerResult.errors.length; i++) {
var error = compilerResult.errors[i];
// TODO(jfreeman): Remove assert
ts.Debug.assert(error.messageText.indexOf("{NL}") < 0);
if (error.file) {
var loc = error.file.getLineAndCharacterFromPosition(error.start);
errors += error.file.filename + "(" + loc.line + "," + loc.character + "): " + error.messageText + sys.newLine;
}
else {
errors += error.messageText + sys.newLine;
}
}
return {
moduleKind: moduleKind,
program: program,
readInputFiles: readInputFiles,
sourceMapData: sourceMapData,
outputFiles: outputFiles,
errors: errors,
nonSubfolderDiskFiles: nonSubfolderDiskFiles,
};
var inputFiles = ts.map(ts.filter(compilerResult.program.getSourceFiles(),
sourceFile => sourceFile.filename !== "lib.d.ts"),
sourceFile => {
return { unitName: sourceFile.filename, content: sourceFile.text };
});
var diagnostics = ts.map(compilerResult.errors, error => Harness.Compiler.getMinimalDiagnostic(error));
errors += sys.newLine + sys.newLine + Harness.Compiler.getErrorBaseline(inputFiles, diagnostics);
return errors;
}
describe('Compiling project for ' + testCase.scenario +': testcase ' + testCaseFileName, () => {
@@ -278,7 +339,7 @@ class ProjectRunner extends RunnerBase {
baselineCheck: testCase.baselineCheck,
runTest: testCase.runTest,
bug: testCase.bug,
resolvedInputFiles: ts.map(compilerResult.readInputFiles, inputFile => inputFile.filename),
resolvedInputFiles: ts.map(compilerResult.program.getSourceFiles(), inputFile => inputFile.filename),
emittedFiles: ts.map(compilerResult.outputFiles, outputFile => outputFile.emittedFileName)
};
@@ -286,7 +347,6 @@ class ProjectRunner extends RunnerBase {
}
it('Resolution information of (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => {
assert.equal(compilerResult.program.getSourceFiles().length, compilerResult.readInputFiles.length, "Compiler missing/has extra source files that were read during compilation");
Harness.Baseline.runBaseline('Resolution information of (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.json', () => {
return JSON.stringify(getCompilerResolutionInfo(), undefined, " ");
});
@@ -295,22 +355,7 @@ class ProjectRunner extends RunnerBase {
if (compilerResult.errors.length) {
it('Errors for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => {
Harness.Baseline.runBaseline('Errors for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.errors.txt', () => {
// This is copied from tc.ts's reportError to replicate what tc does
var errors = "";
for (var i = 0; i < compilerResult.errors.length; i++) {
var error = compilerResult.errors[i];
// TODO(jfreeman): Remove assert
ts.Debug.assert(error.messageText.indexOf("{NL}") < 0);
if (error.file) {
var loc = error.file.getLineAndCharacterFromPosition(error.start);
errors += error.file.filename + "(" + loc.line + "," + loc.character + "): " + error.messageText + sys.newLine;
}
else {
errors += error.messageText + sys.newLine;
}
}
return errors;
return getErrorsBaseline(compilerResult);
});
});
}
@@ -337,6 +382,18 @@ class ProjectRunner extends RunnerBase {
});
});
}
// Verify that all the generated .d.ts files compile
if (!compilerResult.errors.length && testCase.declaration) {
var dTsCompileResult = compileCompileDTsFiles(compilerResult);
if (dTsCompileResult.errors.length) {
it('Errors in generated Dts files for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => {
Harness.Baseline.runBaseline('Errors in generated Dts files for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.dts.errors.txt', () => {
return getErrorsBaseline(dTsCompileResult);
});
});
}
}
}
}
@@ -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'.
}
@@ -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'.
}
@@ -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
}
@@ -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;
})();
@@ -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;
}
@@ -0,0 +1,39 @@
//// [declFileImportChainInExportAssignment.ts]
module m {
export module c {
export class c {
}
}
}
import a = m.c;
import b = a;
export = b;
//// [declFileImportChainInExportAssignment.js]
var m;
(function (m) {
(function (_c) {
var c = (function () {
function c() {
}
return c;
})();
_c.c = c;
})(m.c || (m.c = {}));
var c = m.c;
})(m || (m = {}));
var a = m.c;
var b = a;
module.exports = b;
//// [declFileImportChainInExportAssignment.d.ts]
declare module m {
module c {
class c {
}
}
}
import a = m.c;
import b = a;
export = b;
@@ -1,5 +1,4 @@
//// [declarationEmit_nameConflictsWithAlias.ts]
// Bug 887180
export module C { export interface I { } }
export import v = C;
export module M {
@@ -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; }
+54 -2
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;
@@ -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 {
}
@@ -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.
@@ -0,0 +1,63 @@
//// [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]
@@ -30,3 +30,7 @@ var Query;
});
}
})(Query || (Query = {}));
//// [privacyCheckAnonymousFunctionParameter.d.ts]
export declare var x: number;
@@ -31,3 +31,7 @@ define(["require", "exports"], function (require, exports) {
}
})(Q || (Q = {}));
});
//// [privacyCheckAnonymousFunctionParameter2.d.ts]
export declare var x: number;
@@ -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> {
}
@@ -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;
@@ -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;
}
@@ -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>;
}
@@ -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);
}
@@ -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;
@@ -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;
@@ -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'.
}
@@ -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");
}
}
@@ -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 = {}));
@@ -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.
}
}
+187 -277
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");
}
}
+529
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;
@@ -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.
}
}
@@ -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;
}
@@ -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;
}
@@ -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;
}
}
@@ -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;
@@ -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;
}
}
@@ -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;
@@ -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;
@@ -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;
@@ -7,9 +7,9 @@
"baselineCheck": true,
"runTest": true,
"resolvedInputFiles": [
"emit.ts",
"lib.d.ts",
"decl.ts",
"lib.d.ts"
"emit.ts"
],
"emittedFiles": [
"decl.js",
@@ -7,9 +7,9 @@
"baselineCheck": true,
"runTest": true,
"resolvedInputFiles": [
"emit.ts",
"lib.d.ts",
"decl.ts",
"lib.d.ts"
"emit.ts"
],
"emittedFiles": [
"decl.js",
@@ -7,9 +7,9 @@
"baselineCheck": true,
"runTest": true,
"resolvedInputFiles": [
"dont_emit.ts",
"lib.d.ts",
"decl.ts",
"lib.d.ts"
"dont_emit.ts"
],
"emittedFiles": [
"decl.js",
@@ -7,9 +7,9 @@
"baselineCheck": true,
"runTest": true,
"resolvedInputFiles": [
"dont_emit.ts",
"lib.d.ts",
"decl.ts",
"lib.d.ts"
"dont_emit.ts"
],
"emittedFiles": [
"decl.js",
@@ -7,8 +7,8 @@
"baselineCheck": true,
"runTest": true,
"resolvedInputFiles": [
"nestedModule.ts",
"lib.d.ts"
"lib.d.ts",
"nestedModule.ts"
],
"emittedFiles": [
"nestedModule.js"
@@ -7,8 +7,8 @@
"baselineCheck": true,
"runTest": true,
"resolvedInputFiles": [
"nestedModule.ts",
"lib.d.ts"
"lib.d.ts",
"nestedModule.ts"
],
"emittedFiles": [
"nestedModule.js"
@@ -1,3 +1,23 @@
decl.ts(1,26): Cannot find external module './foo/bar.js'.
decl.ts(2,26): Cannot find external module 'baz'.
decl.ts(3,26): Cannot find external module './baz'.
==== decl.ts (3 errors) ====
import modErr = require("./foo/bar.js");
~~~~~~~~~~~~~~
!!! Cannot find external module './foo/bar.js'.
import modErr1 = require("baz");
~~~~~
!!! Cannot find external module 'baz'.
import modErr2 = require("./baz");
~~~~~~~
!!! Cannot find external module './baz'.
//import modErr1 = require("\bar");
//import mod = require("./foo/bar");
//import mod1 = require("../module paths/foo/bar");
//import mod2 = require("foo/bar");
@@ -5,8 +5,8 @@
"decl.ts"
],
"resolvedInputFiles": [
"decl.ts",
"lib.d.ts"
"lib.d.ts",
"decl.ts"
],
"emittedFiles": [
"decl.js"
@@ -1,3 +1,23 @@
decl.ts(1,26): Cannot find external module './foo/bar.js'.
decl.ts(2,26): Cannot find external module 'baz'.
decl.ts(3,26): Cannot find external module './baz'.
==== decl.ts (3 errors) ====
import modErr = require("./foo/bar.js");
~~~~~~~~~~~~~~
!!! Cannot find external module './foo/bar.js'.
import modErr1 = require("baz");
~~~~~
!!! Cannot find external module 'baz'.
import modErr2 = require("./baz");
~~~~~~~
!!! Cannot find external module './baz'.
//import modErr1 = require("\bar");
//import mod = require("./foo/bar");
//import mod1 = require("../module paths/foo/bar");
//import mod2 = require("foo/bar");
@@ -5,8 +5,8 @@
"decl.ts"
],
"resolvedInputFiles": [
"decl.ts",
"lib.d.ts"
"lib.d.ts",
"decl.ts"
],
"emittedFiles": [
"decl.js"
@@ -5,9 +5,9 @@
"consume.ts"
],
"resolvedInputFiles": [
"consume.ts",
"lib.d.ts",
"decl.ts",
"lib.d.ts"
"consume.ts"
],
"emittedFiles": [
"decl.js",
@@ -5,9 +5,9 @@
"consume.ts"
],
"resolvedInputFiles": [
"consume.ts",
"lib.d.ts",
"decl.ts",
"lib.d.ts"
"consume.ts"
],
"emittedFiles": [
"decl.js",
@@ -6,10 +6,10 @@
],
"runTest": true,
"resolvedInputFiles": [
"a.ts",
"c.ts",
"lib.d.ts",
"b.ts",
"lib.d.ts"
"c.ts",
"a.ts"
],
"emittedFiles": [
"b.js",
@@ -6,10 +6,10 @@
],
"runTest": true,
"resolvedInputFiles": [
"a.ts",
"c.ts",
"lib.d.ts",
"b.ts",
"lib.d.ts"
"c.ts",
"a.ts"
],
"emittedFiles": [
"b.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"glo_m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"glo_m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"glo_m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"glo_m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"private_m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"private_m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"private_m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"private_m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"fncOnly_m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"fncOnly_m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"fncOnly_m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"fncOnly_m4.js",
@@ -6,10 +6,10 @@
],
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"m5.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"m5.ts",
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -6,10 +6,10 @@
],
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"m5.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"m5.ts",
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,10 +7,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"m5.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,10 +7,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"m5.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -7,9 +7,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"useModule.ts",
"lib.d.ts",
"m4.ts",
"lib.d.ts"
"useModule.ts"
],
"emittedFiles": [
"m4.js",
@@ -6,9 +6,9 @@
],
"baselineCheck": true,
"resolvedInputFiles": [
"consumer.ts",
"lib.d.ts",
"ref.d.ts",
"lib.d.ts"
"consumer.ts"
],
"emittedFiles": [
"consumer.js"
@@ -6,9 +6,9 @@
],
"baselineCheck": true,
"resolvedInputFiles": [
"consumer.ts",
"lib.d.ts",
"ref.d.ts",
"lib.d.ts"
"consumer.ts"
],
"emittedFiles": [
"consumer.js"
@@ -1 +1,22 @@
in2.d.ts(1,8): Duplicate identifier 'a'.
==== decl.d.ts (0 errors) ====
// bug 535531: duplicate identifier error reported for "import" declarations in separate files
declare module A
{
class MyRoot { }
export module B
{
class MyClass{ }
}
}
==== in1.d.ts (0 errors) ====
import a = A;
==== in2.d.ts (1 errors) ====
import a = A;
~
!!! Duplicate identifier 'a'.
@@ -7,10 +7,10 @@
"in2.d.ts"
],
"resolvedInputFiles": [
"lib.d.ts",
"decl.d.ts",
"in1.d.ts",
"in2.d.ts",
"lib.d.ts"
"in2.d.ts"
],
"emittedFiles": []
}
@@ -1 +1,22 @@
in2.d.ts(1,8): Duplicate identifier 'a'.
==== decl.d.ts (0 errors) ====
// bug 535531: duplicate identifier error reported for "import" declarations in separate files
declare module A
{
class MyRoot { }
export module B
{
class MyClass{ }
}
}
==== in1.d.ts (0 errors) ====
import a = A;
==== in2.d.ts (1 errors) ====
import a = A;
~
!!! Duplicate identifier 'a'.
@@ -7,10 +7,10 @@
"in2.d.ts"
],
"resolvedInputFiles": [
"lib.d.ts",
"decl.d.ts",
"in1.d.ts",
"in2.d.ts",
"lib.d.ts"
"in2.d.ts"
],
"emittedFiles": []
}
@@ -5,10 +5,10 @@
"external.ts"
],
"resolvedInputFiles": [
"external.ts",
"lib.d.ts",
"internal.ts",
"external2.ts",
"lib.d.ts"
"external.ts"
],
"emittedFiles": [
"internal.js",
@@ -5,10 +5,10 @@
"external.ts"
],
"resolvedInputFiles": [
"external.ts",
"lib.d.ts",
"internal.ts",
"external2.ts",
"lib.d.ts"
"external.ts"
],
"emittedFiles": [
"internal.js",
@@ -1 +1,11 @@
internal2.ts(2,2): Import declarations in an internal module cannot reference an external module.
==== internal2.ts (1 errors) ====
module outer {
import g = require("external2")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export var a = g.square(5);
export var b = "foo";
}
@@ -5,8 +5,8 @@
"internal2.ts"
],
"resolvedInputFiles": [
"internal2.ts",
"lib.d.ts"
"lib.d.ts",
"internal2.ts"
],
"emittedFiles": []
}
@@ -1 +1,11 @@
internal2.ts(2,2): Import declarations in an internal module cannot reference an external module.
==== internal2.ts (1 errors) ====
module outer {
import g = require("external2")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! Import declarations in an internal module cannot reference an external module.
export var a = g.square(5);
export var b = "foo";
}
@@ -5,8 +5,8 @@
"internal2.ts"
],
"resolvedInputFiles": [
"internal2.ts",
"lib.d.ts"
"lib.d.ts",
"internal2.ts"
],
"emittedFiles": []
}
@@ -10,10 +10,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m1.js.map",
@@ -10,10 +10,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/simple/ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/simple/ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m2.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m2.js.map",
@@ -12,10 +12,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/outAndOutDirFolder/ref/m2.js.map",
@@ -12,10 +12,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/outAndOutDirFolder/ref/m2.js.map",
@@ -10,10 +10,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"../outputdir_module_multifolder_ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m1.js.map",
@@ -10,10 +10,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"../outputdir_module_multifolder_ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"../outputdir_module_multifolder_ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/simple/outputdir_module_multifolder/ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"../outputdir_module_multifolder_ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/simple/outputdir_module_multifolder/ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"../outputdir_module_multifolder_ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m1.js.map",
@@ -11,10 +11,10 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"ref/m1.ts",
"../outputdir_module_multifolder_ref/m2.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"ref/m1.js.map",
@@ -10,9 +10,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"m1.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"m1.js.map",
@@ -10,9 +10,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"m1.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"m1.js.map",
@@ -11,9 +11,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"m1.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/simple/m1.js.map",
@@ -11,9 +11,9 @@
"declaration": true,
"baselineCheck": true,
"resolvedInputFiles": [
"test.ts",
"lib.d.ts",
"m1.ts",
"lib.d.ts"
"test.ts"
],
"emittedFiles": [
"outdir/simple/m1.js.map",

Some files were not shown because too many files have changed in this diff Show More