diff --git a/src/Php/CompilerBase.php b/src/Php/CompilerBase.php index 5b164d95..c6a1bcce 100644 --- a/src/Php/CompilerBase.php +++ b/src/Php/CompilerBase.php @@ -390,6 +390,8 @@ class CompilerBase extends \PhpAot\Core\Translator return $this->parseAssignOpShiftRight($expr); case 'Expr_AssignOp_BitwiseAnd': return $this->parseAssignOpBitwiseAnd($expr); + case 'Expr_AssignOp_BitwiseOr': + return $this->parseAssignOpBitwiseOr($expr); case 'Expr_AssignOp_BitwiseXor': return $this->parseAssignOpBitwiseXor($expr); case 'Expr_AssignOp_Pow': @@ -2235,6 +2237,11 @@ class CompilerBase extends \PhpAot\Core\Translator return $this->parseAssignOp($expr, '&='); } + private function parseAssignOpBitwiseOr(Expr\AssignOp\BitwiseOr $expr): string + { + return $this->parseAssignOp($expr, '|='); + } + protected function parseAssignOpPow(Expr\AssignOp\Pow $expr): string { return $this->parseAssignOp($expr, '**='); diff --git a/tests/aot/operator/assignop_bitwiseor.phpt b/tests/aot/operator/assignop_bitwiseor.phpt new file mode 100644 index 00000000..c6faa284 --- /dev/null +++ b/tests/aot/operator/assignop_bitwiseor.phpt @@ -0,0 +1,13 @@ +--TEST-- +Operator: AssignOp BitwiseOr +--FILE-- + +--EXPECT-- +int(116)