Skip to content

Commit 625bf0d

Browse files
authored
Move module creation to program (AssemblyScript#2550)
1 parent c7970b5 commit 625bf0d

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/compiler.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -388,12 +388,12 @@ export class Compiler extends DiagnosticEmitter {
388388

389389
/** Program reference. */
390390
program: Program;
391-
/** Resolver reference. */
392-
get resolver(): Resolver { return this.program.resolver; }
391+
/** Module instance being compiled. */
392+
get module(): Module { return this.program.module; }
393393
/** Provided options. */
394394
get options(): Options { return this.program.options; }
395-
/** Module instance being compiled. */
396-
module: Module;
395+
/** Resolver reference. */
396+
get resolver(): Resolver { return this.program.resolver; }
397397

398398
/** Current control flow. */
399399
currentFlow: Flow;
@@ -443,9 +443,8 @@ export class Compiler extends DiagnosticEmitter {
443443
constructor(program: Program) {
444444
super(program.diagnostics);
445445
this.program = program;
446+
let module = program.module;
446447
let options = program.options;
447-
let module = Module.create(options.stackSize > 0, options.sizeTypeRef);
448-
this.module = module;
449448
if (options.memoryBase) {
450449
this.memoryOffset = i64_new(options.memoryBase);
451450
module.setLowMemoryUnused(false);

src/program.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -432,13 +432,16 @@ export class Program extends DiagnosticEmitter {
432432
super(diagnostics);
433433
let nativeSource = new Source(SourceKind.LibraryEntry, LIBRARY_PREFIX + "native.ts", "[native code]");
434434
this.nativeSource = nativeSource;
435+
this.module = Module.create(options.stackSize > 0, options.sizeTypeRef);
435436
this.parser = new Parser(this.diagnostics, this.sources);
436437
this.resolver = new Resolver(this);
437438
let nativeFile = new File(this, nativeSource);
438439
this.nativeFile = nativeFile;
439440
this.filesByName.set(nativeFile.internalName, nativeFile);
440441
}
441442

443+
/** Module instance. */
444+
module: Module;
442445
/** Parser instance. */
443446
parser: Parser;
444447
/** Resolver instance. */

0 commit comments

Comments
 (0)