From 919e31a264a1607b5fb978f72c81fc030047bcc4 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Wed, 13 Jul 2016 11:26:24 -0700 Subject: [PATCH] Include resolution trace --- .../reference/relativeModuleWithoutSlash.js | 53 +++++++++++------ .../relativeModuleWithoutSlash.symbols | 54 ++++++++++++----- .../relativeModuleWithoutSlash.trace.json | 26 ++++++++ .../relativeModuleWithoutSlash.types | 59 ++++++++++++++----- .../compiler/relativeModuleWithoutSlash.ts | 24 +++++--- 5 files changed, 161 insertions(+), 55 deletions(-) create mode 100644 tests/baselines/reference/relativeModuleWithoutSlash.trace.json diff --git a/tests/baselines/reference/relativeModuleWithoutSlash.js b/tests/baselines/reference/relativeModuleWithoutSlash.js index de0a03c792..f83406499d 100644 --- a/tests/baselines/reference/relativeModuleWithoutSlash.js +++ b/tests/baselines/reference/relativeModuleWithoutSlash.js @@ -1,27 +1,42 @@ //// [tests/cases/compiler/relativeModuleWithoutSlash.ts] //// -//// [index.ts] -export default 0; - -//// [index.ts] -export default 1; - //// [a.ts] -import parent from ".."; -import here from "."; -parent + here; + +export default { a: 0 }; + +//// [index.ts] +export default { aIndex: 0 }; + +//// [test.ts] +import a from "."; +import aIndex from "./"; +a.a; +aIndex.a; //aIndex.aIndex; See GH#9690 + +//// [test.ts] +import a from ".."; +import aIndex from "../"; +a.a; +aIndex.a; //aIndex.aIndex; -//// [index.js] -"use strict"; -exports.__esModule = true; -exports["default"] = 0; -//// [index.js] -"use strict"; -exports.__esModule = true; -exports["default"] = 1; //// [a.js] "use strict"; -var __1 = require(".."); +exports.__esModule = true; +exports["default"] = { a: 0 }; +//// [index.js] +"use strict"; +exports.__esModule = true; +exports["default"] = { aIndex: 0 }; +//// [test.js] +"use strict"; var _1 = require("."); -__1["default"] + _1["default"]; +var _2 = require("./"); +_1["default"].a; +_2["default"].a; //aIndex.aIndex; See GH#9690 +//// [test.js] +"use strict"; +var __1 = require(".."); +var _1 = require("../"); +__1["default"].a; +_1["default"].a; //aIndex.aIndex; diff --git a/tests/baselines/reference/relativeModuleWithoutSlash.symbols b/tests/baselines/reference/relativeModuleWithoutSlash.symbols index 280a844f2f..434c3aa6bd 100644 --- a/tests/baselines/reference/relativeModuleWithoutSlash.symbols +++ b/tests/baselines/reference/relativeModuleWithoutSlash.symbols @@ -1,17 +1,43 @@ -=== tests/cases/compiler/index.ts === -export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/a/index.ts === -export default 1; -No type information for this code. -No type information for this code.=== tests/cases/compiler/a/a.ts === -import parent from ".."; ->parent : Symbol(parent, Decl(a.ts, 0, 6)) +=== tests/cases/compiler/a.ts === -import here from "."; ->here : Symbol(here, Decl(a.ts, 1, 6)) +export default { a: 0 }; +>a : Symbol(a, Decl(a.ts, 1, 16)) -parent + here; ->parent : Symbol(parent, Decl(a.ts, 0, 6)) ->here : Symbol(here, Decl(a.ts, 1, 6)) +=== tests/cases/compiler/a/index.ts === +export default { aIndex: 0 }; +>aIndex : Symbol(aIndex, Decl(index.ts, 0, 16)) + +=== tests/cases/compiler/a/test.ts === +import a from "."; +>a : Symbol(a, Decl(test.ts, 0, 6)) + +import aIndex from "./"; +>aIndex : Symbol(aIndex, Decl(test.ts, 1, 6)) + +a.a; +>a.a : Symbol(a, Decl(a.ts, 1, 16)) +>a : Symbol(a, Decl(test.ts, 0, 6)) +>a : Symbol(a, Decl(a.ts, 1, 16)) + +aIndex.a; //aIndex.aIndex; See GH#9690 +>aIndex.a : Symbol(a, Decl(a.ts, 1, 16)) +>aIndex : Symbol(aIndex, Decl(test.ts, 1, 6)) +>a : Symbol(a, Decl(a.ts, 1, 16)) + +=== tests/cases/compiler/a/b/test.ts === +import a from ".."; +>a : Symbol(a, Decl(test.ts, 0, 6)) + +import aIndex from "../"; +>aIndex : Symbol(aIndex, Decl(test.ts, 1, 6)) + +a.a; +>a.a : Symbol(a, Decl(a.ts, 1, 16)) +>a : Symbol(a, Decl(test.ts, 0, 6)) +>a : Symbol(a, Decl(a.ts, 1, 16)) + +aIndex.a; //aIndex.aIndex; +>aIndex.a : Symbol(a, Decl(a.ts, 1, 16)) +>aIndex : Symbol(aIndex, Decl(test.ts, 1, 6)) +>a : Symbol(a, Decl(a.ts, 1, 16)) diff --git a/tests/baselines/reference/relativeModuleWithoutSlash.trace.json b/tests/baselines/reference/relativeModuleWithoutSlash.trace.json new file mode 100644 index 0000000000..765389e462 --- /dev/null +++ b/tests/baselines/reference/relativeModuleWithoutSlash.trace.json @@ -0,0 +1,26 @@ +[ + "======== Resolving module '.' from 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a/test.ts'. ========", + "Explicitly specified module resolution kind: 'NodeJs'.", + "Loading module as file / folder, candidate module location 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a'.", + "File 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts' exist - use it as a name resolution result.", + "Resolving real path for 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts', result 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'", + "======== Module name '.' was successfully resolved to 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'. ========", + "======== Resolving module './' from 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a/test.ts'. ========", + "Explicitly specified module resolution kind: 'NodeJs'.", + "Loading module as file / folder, candidate module location 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a'.", + "File 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts' exist - use it as a name resolution result.", + "Resolving real path for 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts', result 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'", + "======== Module name './' was successfully resolved to 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'. ========", + "======== Resolving module '..' from 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a/b/test.ts'. ========", + "Explicitly specified module resolution kind: 'NodeJs'.", + "Loading module as file / folder, candidate module location 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a'.", + "File 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts' exist - use it as a name resolution result.", + "Resolving real path for 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts', result 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'", + "======== Module name '..' was successfully resolved to 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'. ========", + "======== Resolving module '../' from 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a/b/test.ts'. ========", + "Explicitly specified module resolution kind: 'NodeJs'.", + "Loading module as file / folder, candidate module location 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a'.", + "File 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts' exist - use it as a name resolution result.", + "Resolving real path for 'C:/Users/anhans/work/TypeScript/tests/cases/compiler/a.ts', result 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'", + "======== Module name '../' was successfully resolved to 'c:/users/anhans/work/typescript/tests/cases/compiler/a.ts'. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/relativeModuleWithoutSlash.types b/tests/baselines/reference/relativeModuleWithoutSlash.types index 3093aa2e7c..3b58f09740 100644 --- a/tests/baselines/reference/relativeModuleWithoutSlash.types +++ b/tests/baselines/reference/relativeModuleWithoutSlash.types @@ -1,18 +1,47 @@ -=== tests/cases/compiler/index.ts === -export default 0; -No type information for this code. -No type information for this code.=== tests/cases/compiler/a/index.ts === -export default 1; -No type information for this code. -No type information for this code.=== tests/cases/compiler/a/a.ts === -import parent from ".."; ->parent : number +=== tests/cases/compiler/a.ts === -import here from "."; ->here : number +export default { a: 0 }; +>{ a: 0 } : { a: number; } +>a : number +>0 : number -parent + here; ->parent + here : number ->parent : number ->here : number +=== tests/cases/compiler/a/index.ts === +export default { aIndex: 0 }; +>{ aIndex: 0 } : { aIndex: number; } +>aIndex : number +>0 : number + +=== tests/cases/compiler/a/test.ts === +import a from "."; +>a : { a: number; } + +import aIndex from "./"; +>aIndex : { a: number; } + +a.a; +>a.a : number +>a : { a: number; } +>a : number + +aIndex.a; //aIndex.aIndex; See GH#9690 +>aIndex.a : number +>aIndex : { a: number; } +>a : number + +=== tests/cases/compiler/a/b/test.ts === +import a from ".."; +>a : { a: number; } + +import aIndex from "../"; +>aIndex : { a: number; } + +a.a; +>a.a : number +>a : { a: number; } +>a : number + +aIndex.a; //aIndex.aIndex; +>aIndex.a : number +>aIndex : { a: number; } +>a : number diff --git a/tests/cases/compiler/relativeModuleWithoutSlash.ts b/tests/cases/compiler/relativeModuleWithoutSlash.ts index 35ad2ae9c6..3b4f50da30 100644 --- a/tests/cases/compiler/relativeModuleWithoutSlash.ts +++ b/tests/cases/compiler/relativeModuleWithoutSlash.ts @@ -1,10 +1,20 @@ -// @Filename: index.ts -export default 0; +// @traceResolution: true +// @moduleResolution: node + +// @Filename: a.ts +export default { a: 0 }; // @Filename: a/index.ts -export default 1; +export default { aIndex: 0 }; -// @Filename: a/a.ts -import parent from ".."; -import here from "."; -parent + here; +// @Filename: a/test.ts +import a from "."; +import aIndex from "./"; +a.a; +aIndex.a; //aIndex.aIndex; See GH#9690 + +// @Filename: a/b/test.ts +import a from ".."; +import aIndex from "../"; +a.a; +aIndex.a; //aIndex.aIndex;