Skip to content

Commit 018d25e

Browse files
authored
Merge branch 'master' into linter
2 parents 2560bf0 + 58084ad commit 018d25e

File tree

9 files changed

+30
-16
lines changed

9 files changed

+30
-16
lines changed

src/Transpiler.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,17 +1277,13 @@ export class LuaTranspiler {
12771277
if (constructor) {
12781278
// Add constructor plus initialisation of instance fields
12791279
result += this.transpileConstructor(constructor, className, instanceFields);
1280-
} else {
1281-
// No constructor, make one to set all instance fields if there are any
1282-
if (instanceFields.length > 0) {
1283-
// Create empty constructor and add instance fields
1284-
result += this.transpileConstructor(ts.createConstructor([],
1285-
[],
1286-
[],
1287-
ts.createBlock([], true)),
1288-
className,
1289-
instanceFields);
1290-
}
1280+
} else if (!isExtension) {
1281+
// Generate a constructor if none was defined
1282+
result += this.transpileConstructor(
1283+
ts.createConstructor([], [], [], ts.createBlock([], true)),
1284+
className,
1285+
instanceFields
1286+
);
12911287
}
12921288

12931289
// Transpile methods

test/translation/builder.spec.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,8 @@ export class FileTests {
4242
@TestCases(files)
4343
@Test("Transformation Tests")
4444
public transformationTests(tsFile: string, luaFile:string) {
45-
Expect(
46-
BufferToTestString(fileContents[luaFile]))
47-
.toEqual(
48-
util.transpileString(BufferToTestString(fileContents[tsFile])));
45+
Expect(util.transpileString(BufferToTestString(fileContents[tsFile])))
46+
.toEqual(BufferToTestString(fileContents[luaFile]));
4947
}
5048

5149
}

test/translation/lua/class.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ function ClassB.new(construct, ...)
55
local instance = setmetatable({}, ClassB)
66
if construct and ClassB.constructor then ClassB.constructor(instance, ...) end
77
return instance
8-
end
8+
end
9+
function ClassB.constructor(self)
10+
end
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
MyClass = MyClass or {}
2+
MyClass.__index = MyClass
3+
function MyClass.new(construct, ...)
4+
local instance = setmetatable({}, MyClass)
5+
if construct and MyClass.constructor then MyClass.constructor(instance, ...) end
6+
return instance
7+
end
8+
function MyClass.constructor(self)
9+
end

test/translation/lua/classInstanceCall4.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ function ClassB.new(construct, ...)
66
if construct and ClassB.constructor then ClassB.constructor(instance, ...) end
77
return instance
88
end
9+
function ClassB.constructor(self)
10+
end
911
local x = ClassB.new(true):myFunc()

test/translation/lua/classPureAbstract.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ function ClassB.new(construct, ...)
44
local instance = setmetatable({}, ClassB)
55
if construct and ClassB.constructor then ClassB.constructor(instance, ...) end
66
return instance
7+
end
8+
function ClassB.constructor(self)
79
end

test/translation/lua/modulesClassExport.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,6 @@ function TestClass.new(construct, ...)
77
if construct and TestClass.constructor then TestClass.constructor(instance, ...) end
88
return instance
99
end
10+
function TestClass.constructor(self)
11+
end
1012
return exports

test/translation/lua/modulesClassWithMemberExport.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ function TestClass.new(construct, ...)
77
if construct and TestClass.constructor then TestClass.constructor(instance, ...) end
88
return instance
99
end
10+
function TestClass.constructor(self)
11+
end
1012
function TestClass.memberFunc(self)
1113
end
1214
return exports
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
class MyClass {}

0 commit comments

Comments
 (0)