Skip to content

Commit b7755e0

Browse files
committed
Feature(compiler): Support BinaryExpress.EqualsToken
1 parent 39e8cb8 commit b7755e0

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

src/backend/llvm/index.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,16 @@ function buildFromBinaryExpression(
205205
builder: llvm.IRBuilder
206206
): llvm.Value {
207207
switch (expr.operatorToken.kind) {
208+
case ts.SyntaxKind.EqualsToken: {
209+
const left = buildFromExpression(expr.left, ctx, builder);
210+
const right = buildFromExpression(expr.right, ctx, builder);
211+
212+
builder.createStore(
213+
right,
214+
left,
215+
false
216+
);
217+
}
208218
case ts.SyntaxKind.PlusToken: {
209219
const left = buildFromExpression(expr.left, ctx, builder);
210220
const right = buildFromExpression(expr.right, ctx, builder);
@@ -517,6 +527,9 @@ export function passStatement(stmt: ts.Statement, ctx: Context, builder: llvm.IR
517527
case ts.SyntaxKind.ForStatement:
518528
passForStatement(<any>stmt, ctx, builder);
519529
break;
530+
case ts.SyntaxKind.BinaryExpression:
531+
buildFromBinaryExpression(<any>stmt, ctx, builder);
532+
break;
520533
default:
521534
throw new UnsupportedError(
522535
stmt,

0 commit comments

Comments
 (0)