@@ -326,7 +326,7 @@ export class LuaTransformer {
326326 if ( ! isExtension && ! isMetaExtension ) {
327327 const classCreationMethods =
328328 this . createClassCreationMethods ( statement , className , instanceFields , extendsType ) ;
329- result . concat ( classCreationMethods ) ;
329+ result . push ( ... classCreationMethods ) ;
330330 } else {
331331 for ( const f of instanceFields ) {
332332 // Get identifier
@@ -587,15 +587,15 @@ export class LuaTransformer {
587587 const [ params , dotsLiteral , restParamName ] =
588588 this . transformParameters ( statement . parameters , this . selfIdentifier ) ;
589589
590- bodyStatements . concat ( this . transformFunctionBody ( statement . parameters , statement . body , restParamName ) ) ;
590+ bodyStatements . push ( ... this . transformFunctionBody ( statement . parameters , statement . body , restParamName ) ) ;
591591
592592 const body : tstl . Block = tstl . createBlock ( bodyStatements ) ;
593593
594594 const result =
595595 tstl . createVariableAssignmentStatement (
596596 tstl . createTableIndexExpression (
597- this . selfIdentifier ,
598- className
597+ className ,
598+ tstl . createIdentifier ( "constructor" )
599599 ) ,
600600 tstl . createFunctionExpression (
601601 body ,
@@ -1091,6 +1091,8 @@ export class LuaTransformer {
10911091
10921092 public transformBinaryExpression ( expression : ts . BinaryExpression ) : ExpressionVisitResult {
10931093 // Check if this is an assignment token, then handle accordingly
1094+
1095+ // TODO NYI @tomb
10941096 /*const [isAssignment, operator] = tsHelper.isBinaryAssignmentToken(expression.operatorToken.kind);
10951097 if (isAssignment) {
10961098 return this.transpileAssignmentExpression(
@@ -1150,12 +1152,8 @@ export class LuaTransformer {
11501152 case ts . SyntaxKind . LessThanEqualsToken :
11511153 return tstl . createBinaryExpression ( lhs , rhs , tstl . SyntaxKind . LessEqualOperator ) ;
11521154 case ts . SyntaxKind . EqualsToken :
1153- const assignment = tstl . createVariableAssignmentStatement (
1154- lhs as tstl . IdentifierOrTableIndexExpression ,
1155- rhs
1156- ) ;
1157- const returnStatement = tstl . createReturnStatement ( [ this . transformExpression ( expression . right ) ] ) ;
1158- return tstl . createFunctionExpression ( tstl . createBlock ( [ assignment , returnStatement ] ) ) ;
1155+ // TODO rework this @see tstl.SyntaxKind.AssignmentOperator declaration
1156+ return tstl . createBinaryExpression ( lhs , rhs , tstl . SyntaxKind . AssignmentOperator ) ;
11591157 case ts . SyntaxKind . EqualsEqualsToken :
11601158 case ts . SyntaxKind . EqualsEqualsEqualsToken :
11611159 return tstl . createBinaryExpression ( lhs , rhs , tstl . SyntaxKind . EqualityOperator ) ;
0 commit comments