@@ -3971,10 +3971,6 @@ export class LuaTransformer {
39713971 ) ;
39723972 } else {
39733973 const parameters = this . transformArguments ( node . arguments , signature ) ;
3974- let table = this . transformExpression ( node . expression . expression ) ;
3975- if ( tstl . isTableExpression ( table ) ) {
3976- table = tstl . createParenthesizedExpression ( table ) ;
3977- }
39783974 const signatureDeclaration = signature && signature . getDeclaration ( ) ;
39793975 if (
39803976 ! signatureDeclaration ||
@@ -3983,6 +3979,11 @@ export class LuaTransformer {
39833979 // table:name()
39843980 return this . transformContextualCallExpression ( node , parameters ) ;
39853981 } else {
3982+ let table = this . transformExpression ( node . expression . expression ) ;
3983+ if ( tstl . isTableExpression ( table ) ) {
3984+ table = tstl . createParenthesizedExpression ( table ) ;
3985+ }
3986+
39863987 // table.name()
39873988 const callPath = tstl . createTableIndexExpression (
39883989 table ,
@@ -4024,7 +4025,6 @@ export class LuaTransformer {
40244025 transformedArguments : tstl . Expression [ ]
40254026 ) : ExpressionVisitResult {
40264027 const left = ts . isCallExpression ( node ) ? node . expression : node . tag ;
4027- const leftHandSideExpression = this . transformExpression ( left ) ;
40284028 if (
40294029 ts . isPropertyAccessExpression ( left ) &&
40304030 ! luaKeywords . has ( left . name . text ) &&
@@ -4064,7 +4064,8 @@ export class LuaTransformer {
40644064 } else if ( ts . isIdentifier ( left ) ) {
40654065 const context = this . isStrict ? tstl . createNilLiteral ( ) : tstl . createIdentifier ( "_G" ) ;
40664066 transformedArguments . unshift ( context ) ;
4067- return tstl . createCallExpression ( leftHandSideExpression , transformedArguments , node ) ;
4067+ const expression = this . transformExpression ( left ) ;
4068+ return tstl . createCallExpression ( expression , transformedArguments , node ) ;
40684069 } else {
40694070 throw TSTLErrors . UnsupportedKind ( "Left Hand Side Call Expression" , left . kind , left ) ;
40704071 }
0 commit comments