C#: Introduce test cases and expected result for unsigned right shift.

This commit is contained in:
Michael Nebel
2023-01-06 16:21:36 +01:00
parent 9eb7933778
commit d06a877709
3 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
public class MyClass
{
public void M1()
{
var x1 = 1;
var x2 = x1 >>> 2;
var y1 = -2;
var y2 = y1 >>> 3;
var z = -4;
z >>>= 5;
}
}

View File

@@ -0,0 +1,6 @@
binarybitwise
| Operators.cs:7:18:7:25 | ... >>> ... | Operators.cs:7:18:7:19 | access to local variable x1 | Operators.cs:7:25:7:25 | 2 | >>> | UnsignedRightShiftExpr |
| Operators.cs:10:18:10:25 | ... >>> ... | Operators.cs:10:18:10:19 | access to local variable y1 | Operators.cs:10:25:10:25 | 3 | >>> | UnsignedRightShiftExpr |
| Operators.cs:13:9:13:16 | ... >>> ... | Operators.cs:13:9:13:9 | access to local variable z | Operators.cs:13:16:13:16 | 5 | >>> | UnsignedRightShiftExpr |
assignbitwise
| Operators.cs:13:9:13:16 | ... >>>= ... | Operators.cs:13:9:13:9 | access to local variable z | Operators.cs:13:16:13:16 | 5 | >>>= | AssignUnsighedRightShiftExpr |

View File

@@ -0,0 +1,21 @@
import csharp
query predicate binarybitwise(
BinaryBitwiseOperation op, Expr left, Expr right, string name, string qlclass
) {
op.getFile().getStem() = "Operators" and
left = op.getLeftOperand() and
right = op.getRightOperand() and
name = op.getOperator() and
qlclass = op.getAPrimaryQlClass()
}
query predicate assignbitwise(
AssignBitwiseOperation op, Expr left, Expr right, string name, string qlclass
) {
op.getFile().getStem() = "Operators" and
left = op.getLValue() and
right = op.getRValue() and
name = op.getOperator() and
qlclass = op.getAPrimaryQlClass()
}