Skip to content

Ts to lua ast assignment expressions#317

Merged
lolleko merged 5 commits intots-to-lua-astfrom
ts-to-lua-ast-assignment-expressions
Jan 4, 2019
Merged

Ts to lua ast assignment expressions#317
lolleko merged 5 commits intots-to-lua-astfrom
ts-to-lua-ast-assignment-expressions

Conversation

@tomblind
Copy link
Copy Markdown
Collaborator

@tomblind tomblind commented Jan 3, 2019

Assignments and compound assignments all seem to be working but many of the tests still fail due to unimplemented features (template expressions, etc..).


public transformExpressionStatement(statement: ts.ExpressionStatement): StatementVisitResult {
return tstl.createExpressionStatement(this.transformExpression(statement.expression));
public transformExpressionStatement(expression: ts.Expression): StatementVisitResult {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe overload this so we can pass both ts.Expression and ts.ExpressionStatement

return this.transformCompoundAssignmentExpression(
expression.operand,
ts.createLiteral(1),
expression.operator === ts.SyntaxKind.PlusPlusToken
Copy link
Copy Markdown
Member

@lolleko lolleko Jan 3, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ternaries inside arguments are not very readable imo. Consider changing it to:

        let operator = expression.operator === ts.SyntaxKind.PlusPlusToken ? tstl.SyntaxKind.AdditionOperator : tstl.SyntaxKind.SubractionOperator;
        return this.transformCompoundAssignmentExpression(
            expression.operand,
            ts.createLiteral(1),
            operator,
            true

…ement to take a ts.ExpressionStatement|ts.Expression
@lolleko lolleko merged commit 008eb82 into ts-to-lua-ast Jan 4, 2019
@tomblind tomblind deleted the ts-to-lua-ast-assignment-expressions branch January 5, 2019 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants