Skip to content

Commit 91b02ce

Browse files
authored
changed static methods and lambda-properties to take a context parameter by default (#322)
1 parent 7909433 commit 91b02ce

File tree

3 files changed

+124
-126
lines changed

3 files changed

+124
-126
lines changed

src/TSHelper.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -401,16 +401,14 @@ export class TSHelper {
401401
return thisParameter.type && thisParameter.type.kind === ts.SyntaxKind.VoidKeyword
402402
? ContextType.Void : ContextType.NonVoid;
403403
}
404-
if ((ts.isMethodDeclaration(signatureDeclaration) || ts.isMethodSignature(signatureDeclaration))
405-
&& !(ts.getCombinedModifierFlags(signatureDeclaration) & ts.ModifierFlags.Static)) {
406-
// Non-static method
404+
if (ts.isMethodDeclaration(signatureDeclaration) || ts.isMethodSignature(signatureDeclaration)) {
405+
// Method
407406
return ContextType.NonVoid;
408407
}
409-
if ((ts.isPropertySignature(signatureDeclaration.parent)
410-
|| ts.isPropertyDeclaration(signatureDeclaration.parent)
411-
|| ts.isPropertyAssignment(signatureDeclaration.parent))
412-
&& !(ts.getCombinedModifierFlags(signatureDeclaration.parent) & ts.ModifierFlags.Static)) {
413-
// Non-static lambda property
408+
if (ts.isPropertySignature(signatureDeclaration.parent)
409+
|| ts.isPropertyDeclaration(signatureDeclaration.parent)
410+
|| ts.isPropertyAssignment(signatureDeclaration.parent)) {
411+
// Lambda property
414412
return ContextType.NonVoid;
415413
}
416414
if (ts.isBinaryExpression(signatureDeclaration.parent)) {

test/translation/lua/namespaceMerge.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ end
99
end
1010
function MergedClass.constructor(self)
1111
end
12-
function MergedClass.staticMethodA()
12+
function MergedClass.staticMethodA(self)
1313
end
14-
function MergedClass.staticMethodB()
15-
self.staticMethodA();
14+
function MergedClass.staticMethodB(self)
15+
self:staticMethodA();
1616
end
1717
function MergedClass.methodA(self)
1818
end
@@ -29,5 +29,5 @@ end
2929
local mergedClass = MergedClass.new(true);
3030
mergedClass:methodB();
3131
mergedClass:propertyFunc();
32-
MergedClass.staticMethodB();
32+
MergedClass:staticMethodB();
3333
MergedClass.namespaceFunc();

0 commit comments

Comments
 (0)