diff --git a/src/compiler.ts b/src/compiler.ts index fd0ac005bc..f0980d05cc 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -388,12 +388,12 @@ export class Compiler extends DiagnosticEmitter { /** Program reference. */ program: Program; - /** Resolver reference. */ - get resolver(): Resolver { return this.program.resolver; } + /** Module instance being compiled. */ + get module(): Module { return this.program.module; } /** Provided options. */ get options(): Options { return this.program.options; } - /** Module instance being compiled. */ - module: Module; + /** Resolver reference. */ + get resolver(): Resolver { return this.program.resolver; } /** Current control flow. */ currentFlow: Flow; @@ -443,9 +443,8 @@ export class Compiler extends DiagnosticEmitter { constructor(program: Program) { super(program.diagnostics); this.program = program; + let module = program.module; let options = program.options; - let module = Module.create(options.stackSize > 0, options.sizeTypeRef); - this.module = module; if (options.memoryBase) { this.memoryOffset = i64_new(options.memoryBase); module.setLowMemoryUnused(false); diff --git a/src/program.ts b/src/program.ts index 421a76618b..09032d0477 100644 --- a/src/program.ts +++ b/src/program.ts @@ -432,6 +432,7 @@ export class Program extends DiagnosticEmitter { super(diagnostics); let nativeSource = new Source(SourceKind.LibraryEntry, LIBRARY_PREFIX + "native.ts", "[native code]"); this.nativeSource = nativeSource; + this.module = Module.create(options.stackSize > 0, options.sizeTypeRef); this.parser = new Parser(this.diagnostics, this.sources); this.resolver = new Resolver(this); let nativeFile = new File(this, nativeSource); @@ -439,6 +440,8 @@ export class Program extends DiagnosticEmitter { this.filesByName.set(nativeFile.internalName, nativeFile); } + /** Module instance. */ + module: Module; /** Parser instance. */ parser: Parser; /** Resolver instance. */