=== tests/cases/conformance/internalModules/codeGeneration/exportCodeGen.ts === // should replace all refs to 'x' in the body, // with fully qualified module A { >A : Symbol(A, Decl(exportCodeGen.ts, 0, 0)) export var x = 12; >x : Symbol(x, Decl(exportCodeGen.ts, 4, 14)) function lt12() { >lt12 : Symbol(lt12, Decl(exportCodeGen.ts, 4, 22)) return x < 12; >x : Symbol(x, Decl(exportCodeGen.ts, 4, 14)) } } // should not fully qualify 'x' module B { >B : Symbol(B, Decl(exportCodeGen.ts, 8, 1)) var x = 12; >x : Symbol(x, Decl(exportCodeGen.ts, 12, 7)) function lt12() { >lt12 : Symbol(lt12, Decl(exportCodeGen.ts, 12, 15)) return x < 12; >x : Symbol(x, Decl(exportCodeGen.ts, 12, 7)) } } // not copied, since not exported module C { >C : Symbol(C, Decl(exportCodeGen.ts, 16, 1)) function no() { >no : Symbol(no, Decl(exportCodeGen.ts, 19, 10)) return false; } } // copies, since exported module D { >D : Symbol(D, Decl(exportCodeGen.ts, 23, 1)) export function yes() { >yes : Symbol(yes, Decl(exportCodeGen.ts, 26, 10)) return true; } } // validate all exportable statements module E { >E : Symbol(E, Decl(exportCodeGen.ts, 30, 1)) export enum Color { Red } >Color : Symbol(Color, Decl(exportCodeGen.ts, 33, 10)) >Red : Symbol(Color.Red, Decl(exportCodeGen.ts, 34, 23)) export function fn() { } >fn : Symbol(fn, Decl(exportCodeGen.ts, 34, 29)) export interface I { id: number } >I : Symbol(I, Decl(exportCodeGen.ts, 35, 28)) >id : Symbol(id, Decl(exportCodeGen.ts, 36, 24)) export class C { name: string } >C : Symbol(C, Decl(exportCodeGen.ts, 36, 37)) >name : Symbol(name, Decl(exportCodeGen.ts, 37, 20)) export module M { >M : Symbol(M, Decl(exportCodeGen.ts, 37, 35)) export var x = 42; >x : Symbol(x, Decl(exportCodeGen.ts, 39, 18)) } } // validate all exportable statements, // which are not exported module F { >F : Symbol(F, Decl(exportCodeGen.ts, 41, 1)) enum Color { Red } >Color : Symbol(Color, Decl(exportCodeGen.ts, 45, 10)) >Red : Symbol(Color.Red, Decl(exportCodeGen.ts, 46, 16)) function fn() { } >fn : Symbol(fn, Decl(exportCodeGen.ts, 46, 22)) interface I { id: number } >I : Symbol(I, Decl(exportCodeGen.ts, 47, 21)) >id : Symbol(id, Decl(exportCodeGen.ts, 48, 17)) class C { name: string } >C : Symbol(C, Decl(exportCodeGen.ts, 48, 30)) >name : Symbol(name, Decl(exportCodeGen.ts, 49, 13)) module M { >M : Symbol(M, Decl(exportCodeGen.ts, 49, 28)) var x = 42; >x : Symbol(x, Decl(exportCodeGen.ts, 51, 11)) } }