1
0

Implement &&

This commit is contained in:
otya128
2016-12-31 09:45:27 +09:00
parent 17b5ba0f49
commit e6d0a49c24
2 changed files with 57 additions and 0 deletions

View File

@@ -502,6 +502,16 @@ class Compiler
case NodeType.BinaryOperator:
{
auto binop = cast(BinaryOperator)exp;
if(binop.operator == TokenType.LogicalAnd)
{
compileExpression(binop.item1, sc);
auto jmp = new LogicalAnd();
genCode(jmp);
compileExpression(binop.item2, sc);
genCode(new ConvertBool());
jmp.addr = cast(int)code.length;
break;
}
compileExpression(binop.item1, sc);
compileExpression(binop.item2, sc);
if(binop.operator == TokenType.LBracket)