From b5941d8c8d99f9c9cbe63e37103c509d0e25cdb9 Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 28 Jun 2018 08:37:15 +0200 Subject: [PATCH 1/3] Fixed module statement not adding module table --- src/TSHelper.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TSHelper.ts b/src/TSHelper.ts index 8e20f2683..800548250 100644 --- a/src/TSHelper.ts +++ b/src/TSHelper.ts @@ -33,6 +33,7 @@ export class TSHelper { // export statement, we only check for export statements return sourceFile.statements.some(statement => (ts.getCombinedModifierFlags(statement) & ts.ModifierFlags.Export) !== 0 + || statement.kind === ts.SyntaxKind.ModuleDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment || statement.kind === ts.SyntaxKind.ExportDeclaration); } From edf1178c4688e4b73b92990f22282c065c5d17db Mon Sep 17 00:00:00 2001 From: Lolleko Date: Thu, 28 Jun 2018 09:49:36 +0200 Subject: [PATCH 2/3] Fix? --- src/TSHelper.ts | 1 - src/Transpiler.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/TSHelper.ts b/src/TSHelper.ts index 800548250..8e20f2683 100644 --- a/src/TSHelper.ts +++ b/src/TSHelper.ts @@ -33,7 +33,6 @@ export class TSHelper { // export statement, we only check for export statements return sourceFile.statements.some(statement => (ts.getCombinedModifierFlags(statement) & ts.ModifierFlags.Export) !== 0 - || statement.kind === ts.SyntaxKind.ModuleDeclaration || statement.kind === ts.SyntaxKind.ExportAssignment || statement.kind === ts.SyntaxKind.ExportDeclaration); } diff --git a/src/Transpiler.ts b/src/Transpiler.ts index 24b307447..8da56b848 100644 --- a/src/Transpiler.ts +++ b/src/Transpiler.ts @@ -71,7 +71,7 @@ export abstract class LuaTranspiler { public makeExport(name: string | ts.__String, node: ts.Node, dummy?: boolean): string { let result: string = ""; if (node && - node.modifiers && + node.modifiers && this.isModule && (ts.getCombinedModifierFlags(node) & ts.ModifierFlags.Export) ) { if (dummy) { From 5ee274a0fa549466157506d7cdfc04128c8227d7 Mon Sep 17 00:00:00 2001 From: Perryvw Date: Thu, 28 Jun 2018 21:14:04 +0200 Subject: [PATCH 3/3] Added module fix test --- test/unit/modules.spec.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/unit/modules.spec.ts b/test/unit/modules.spec.ts index a1de871be..60147b9f0 100644 --- a/test/unit/modules.spec.ts +++ b/test/unit/modules.spec.ts @@ -1,6 +1,6 @@ import { Expect, Test, TestCase } from "alsatian"; import * as ts from "typescript"; -import { LuaTarget, LuaTranspiler } from "../../src/Transpiler"; + import * as util from "../src/util"; export class LuaModuleTests { @@ -34,4 +34,13 @@ export class LuaModuleTests { Expect(() => transpiler.transpileImport(mockDeclaration as ts.ImportDeclaration)) .toThrowError(Error, "Unsupported import type."); } + + @Test("Non-exported module") + public nonExportedModule() { + const lua = util.transpileString("module g { export function test() { return 3; } } return g.test();"); + + const result = util.executeLua(lua); + + Expect(result).toBe(3); + } }