From 5fc3bbba12dec0b088f5379faaf0732f2cbb1141 Mon Sep 17 00:00:00 2001 From: Mattias Gaertner Date: Wed, 4 Oct 2017 12:26:22 +0000 Subject: [PATCH] pastojs: implemented logical xor git-svn-id: trunk@37393 - --- packages/pastojs/src/fppas2js.pp | 1 + packages/pastojs/tests/tcmodules.pas | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/pastojs/src/fppas2js.pp b/packages/pastojs/src/fppas2js.pp index 3cf2fc256c..77d6396873 100644 --- a/packages/pastojs/src/fppas2js.pp +++ b/packages/pastojs/src/fppas2js.pp @@ -4129,6 +4129,7 @@ begin Case El.OpCode of eopAnd : C:=TJSLogicalAndExpression; eopOr : C:=TJSLogicalOrExpression; + eopXor : C:=TJSBitwiseXOrExpression; else DoError(20161024191234,nBinaryOpcodeNotSupported,sBinaryOpcodeNotSupported,['logical XOR'],El); end; diff --git a/packages/pastojs/tests/tcmodules.pas b/packages/pastojs/tests/tcmodules.pas index c0d71f6f20..b2aab28ca5 100644 --- a/packages/pastojs/tests/tcmodules.pas +++ b/packages/pastojs/tests/tcmodules.pas @@ -2075,6 +2075,7 @@ begin Add('begin'); Add(' va:=vb and vc;'); Add(' va:=vb or vc;'); + Add(' va:=vb xor vc;'); Add(' va:=true and vc;'); Add(' va:=(vb and vc) or (va and vb);'); Add(' va:=not vb;'); @@ -2088,6 +2089,7 @@ begin LinesToStr([ // this.$main '$mod.vA = $mod.vB && $mod.vC;', '$mod.vA = $mod.vB || $mod.vC;', + '$mod.vA = $mod.vB ^ $mod.vC;', '$mod.vA = true && $mod.vC;', '$mod.vA = ($mod.vB && $mod.vC) || ($mod.vA && $mod.vB);', '$mod.vA = !$mod.vB;'